First Commit of Voltha-Go-Controller from Radisys
Change-Id: I8e2e908e7ab09a4fe3d86849da18b6d69dcf4ab0
diff --git a/database/dbintf.go b/database/dbintf.go
new file mode 100644
index 0000000..b8b491f
--- /dev/null
+++ b/database/dbintf.go
@@ -0,0 +1,165 @@
+/*
+* Copyright 2022-present Open Networking Foundation
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+package database
+
+import (
+ "net"
+
+ "voltha-go-controller/internal/pkg/of"
+ "github.com/opencord/voltha-lib-go/v7/pkg/db/kvstore"
+)
+
+var dbObj DBIntf
+
+// DBIntf defines db related methods
+type DBIntf interface {
+ Get(key string) (string, error)
+ Put(fullKeyPath string, value string) error
+ Del(path string) error
+ List(key string) (map[string]*kvstore.KVPair, error)
+ DeleteAll(path string) error
+ DeleteAllUnderHashKey(hashKeyPrefix string) error
+ GetOlt(deviceID string) (string, error)
+ PutOlt(deviceID string, value string) error
+ DelOlt(deviceID string) error
+ GetFlow(deviceID string, flowID uint64) (string, error)
+ GetFlows(deviceID string) (map[string]*kvstore.KVPair, error)
+ PutFlow(deviceID string, flowID uint64, value string) error
+ DelFlow(deviceID string, flowID uint64) error
+ PutGroup(deviceID string, groupID uint32, value string) error
+ GetGroup(deviceID string, groupID uint32) (string, error)
+ GetGroups(deviceID string) (map[string]*kvstore.KVPair, error)
+ DelGroup(deviceID string, groupID uint32) error
+ DelAllGroup(string) error
+ DelAllPorts(deviceID string) error
+ DelPort(deviceID string, portID uint32) error
+ PutPort(deviceID string, portID uint32, value string) error
+ GetPort(deviceID string, portID uint32) (string, error)
+ GetPorts(deviceID string) (map[string]*kvstore.KVPair, error)
+ PutDeviceMeter(deviceID string, meterID uint32, value string) error
+ GetDeviceMeter(deviceID string, meterID uint32) (string, error)
+ GetDeviceMeters(deviceID string) (map[string]*kvstore.KVPair, error)
+ DelDeviceMeter(deviceID string, meterID uint32) error
+ GetService(name string) (string, error)
+ GetServices() (map[string]*kvstore.KVPair, error)
+ PutService(name string, value string) error
+ DelService(name string) error
+ GetVnets() (map[string]*kvstore.KVPair, error)
+ GetVnet(name string) (string, error)
+ PutVnet(name string, value string) error
+ DelVnet(name string) error
+ GetVpvs() (map[string]*kvstore.KVPair, error)
+ GetVpv(port string, SVlan uint16, CVlan uint16, UniVlan uint16) (string, error)
+ PutVpv(port string, SVlan uint16, CVlan uint16, UniVlan uint16, value string) error
+ DelVpv(port string, SVlan uint16, CVlan uint16, UniVlan uint16) error
+ GetMvlans() (map[string]*kvstore.KVPair, error)
+ GetMvlan(mvlan uint16) (string, error)
+ PutMvlan(mvlan uint16, value string) error
+ DelMvlan(mvlan uint16) error
+ DelIGMPCfg() error
+ GetHealth() (string, error)
+ PutHealth(value string) error
+ DelHealth() error
+ GetMeters() (map[string]*kvstore.KVPair, error)
+ GetMeter(name string) (string, error)
+ PutMeter(name string, value string) error
+ DelMeter(name string) error
+ DelAllMeter(device string) error
+ GetIgmpGroups() (map[string]*kvstore.KVPair, error)
+ GetIgmpGroup(id string) (string, error)
+ PutIgmpGroup(id string, value string) error
+ DelIgmpGroup(id string) error
+ GetAllIgmpDevices() (map[string]*kvstore.KVPair, error)
+ GetPrevIgmpDevices(mvlan of.VlanType, gid string) (map[string]*kvstore.KVPair, error)
+ GetIgmpDevices(mvlan of.VlanType, gid string, gip net.IP) (map[string]*kvstore.KVPair, error)
+ GetIgmpDevice(mvlan of.VlanType, gid string, gip net.IP, device string) (string, error)
+ PutIgmpDevice(mvlan of.VlanType, gid string, gip net.IP, device string, value string) error
+ DelIgmpDevice(mvlan of.VlanType, gid string, gip net.IP, device string) error
+ GetAllIgmpChannels() (map[string]*kvstore.KVPair, error)
+ GetPrevIgmpChannels(gname string, device string) (map[string]*kvstore.KVPair, error)
+ GetIgmpChannels(mvlan of.VlanType, gname string, device string) (map[string]*kvstore.KVPair, error)
+ GetIgmpChannel(mvlan of.VlanType, gName string, device string, gip net.IP) (string, error)
+ PutIgmpChannel(mvlan of.VlanType, gName string, device string, gip net.IP, value string) error
+ DelIgmpChannel(mvlan of.VlanType, gName string, device string, gip net.IP) error
+ GetAllIgmpRcvrs() (map[string]*kvstore.KVPair, error)
+ GetPrevIgmpRcvrs(gip net.IP, device string) (map[string]*kvstore.KVPair, error)
+ GetIgmpRcvrs(mvlan of.VlanType, gip net.IP, device string) (map[string]*kvstore.KVPair, error)
+ GetIgmpRcvr(mvlan of.VlanType, gip net.IP, device string, rcvr string) (string, error)
+ PutIgmpRcvr(mvlan of.VlanType, gip net.IP, device string, rcvr string, value string) error
+ DelIgmpRcvr(mvlan of.VlanType, gip net.IP, device string, rcvr string) error
+ DelAllIgmpRcvr(mvlan of.VlanType, gip net.IP, device string) error
+ DelAllRoutesForDevice(device string) error
+ DelNbDevicePort(device string, ponPortID uint32)
+ GetAllNbPorts(deviceID string) (map[string]*kvstore.KVPair, error)
+ GetMigrationInfo() (string, error)
+ PutMigrationInfo(value string) error
+ DelMigrationInfo() error
+ GetAllPonCounters(device string) (map[string]*kvstore.KVPair, error)
+ GetPonCounter(device string, ponID string) (string, error)
+ PutPonCounter(device string, ponID string, value string) error
+ DelPonCounter(device string, ponID string) error
+ GetAllPonChannelCounters(device string, ponID string) (map[string]*kvstore.KVPair, error)
+ GetPonChannelCounter(device string, ponID string, channel string) (string, error)
+ PutNbDevicePort(device string, ponPortID uint32, value string)
+ PutPonChannelCounter(device string, ponID string, channel string, value string) error
+ DelPonChannelCounter(device string, ponID string, channel string) error
+ DelAllPONCounters(device string) error
+ DelPONCounters(device string, ponID string)
+ GetAllServiceChannelCounters(serviceName string) (map[string]*kvstore.KVPair, error)
+ GetServiceChannelCounter(serviceName string, channel string) (string, error)
+ PutServiceChannelCounter(serviceName string, channel string, value string) error
+ DelServiceChannelCounter(serviceName string, channel string) error
+ DelAllServiceChannelCounter(serviceName string) error
+ PutOltIgmpCounters(device string, value string) error
+ GetOltIgmpCounter(device string) (string, error)
+ PutFlowHash(deviceID string, value string) error
+ GetFlowHash(deviceID string) (string, error)
+ OltExists(deviceID string) bool
+ GetIgmpProfiles() (map[string]*kvstore.KVPair, error)
+ GetIgmpProfile(name string) (string, error)
+ PutIgmpProfile(name string, value string) error
+ DelIgmpProfile(name string) error
+ GetMcastConfigs() (map[string]*kvstore.KVPair, error)
+ GetMcastConfig(name string) (string, error)
+ PutMcastConfig(name string, value string) error
+ DelMcastConfig(name string) error
+ PutPortAlarmProfile(portAlarmProfileID string, value string)
+ GetPortAlarmProfile(portAlarmProfileID string) (map[string]*kvstore.KVPair, error)
+ DelPortAlarmProfile(portAlarmProfileID string)
+ PutPortAlarmData(deviceID string, portID uint32, value string)
+ GetPortAlarmData(deviceID string, portID uint32) (string, error)
+ DelPortAlarmData(deviceID string, portID uint32)
+ GetAllPortAlarmData(deviceID string) (map[string]*kvstore.KVPair, error)
+ PutSubAlarmData(deviceID string, portName string, value string)
+ GetSubAlarmData(deviceID string, portName string) (string, error)
+ DelSubAlarmData(deviceID string, portName string)
+ GetAllSubAlarmData(deviceID string) (map[string]*kvstore.KVPair, error)
+ PutMigrateServicesReq(deviceID string, vlan string, value string) error
+ GetMigrateServicesReq(deviceID string, vlan string) (string, error)
+ GetAllMigrateServicesReq(deviceID string) (map[string]*kvstore.KVPair, error)
+ DelMigrateServicesReq(deviceID string, vlan string) error
+ DelAllMigrateServicesReq(deviceID string) error
+}
+
+//GetDatabase - returns databse operation based on configuration
+func GetDatabase() DBIntf {
+ return dbObj
+}
+
+//SetDatabase - sets the DB object based on the type
+func SetDatabase(df DBIntf) {
+ dbObj = df
+}