-
Notifications
You must be signed in to change notification settings - Fork 95
Add Virtual Database Client + Unit Tests #18
base: master
Are you sure you want to change the base?
Changes from 18 commits
43a8fcd
3908994
cca4c30
750133e
b2c6c5e
9ea0465
0fcf9a5
f0e0fdb
bd4af90
da43c69
6dbe27c
d16da4c
b414595
e29cfa5
e597358
90d4437
ede7a94
f01f39c
d33fca6
9f94324
6f2b220
53c0e70
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -93,6 +93,7 @@ func (val Value) Compare(other queue.Item) int { | |
| type DbClient struct { | ||
| prefix *gnmipb.Path | ||
| pathG2S map[*gnmipb.Path][]tablePath | ||
|
|
||
| q *queue.PriorityQueue | ||
| channel chan struct{} | ||
|
|
||
|
|
@@ -112,6 +113,14 @@ func NewDbClient(paths []*gnmipb.Path, prefix *gnmipb.Path) (Client, error) { | |
| if UseRedisLocalTcpPort { | ||
| useRedisTcpClient() | ||
| } | ||
|
|
||
| // TODO: Remove debug log | ||
| //for _, _path := range paths { | ||
| // fmt.Printf("single path: %v\n", _path) | ||
| //} | ||
| // | ||
| //fmt.Printf("prefix: %v\n", prefix) | ||
|
|
||
| if prefix.GetTarget() == "COUNTERS_DB" { | ||
| err = initCountersPortNameMap() | ||
| if err != nil { | ||
|
|
@@ -145,7 +154,7 @@ func NewDbClient(paths []*gnmipb.Path, prefix *gnmipb.Path) (Client, error) { | |
| // String returns the target the client is querying. | ||
| func (c *DbClient) String() string { | ||
| // TODO: print gnmiPaths of this DbClient | ||
| return fmt.Sprintf("DbClient Prefix %v sendMsg %v, recvMsg %v", | ||
| return fmt.Sprintf("DbClient Prefix %v sendMsg %v, recvMsg %v", | ||
| c.prefix.GetTarget(), c.sendMsg, c.recvMsg) | ||
| } | ||
|
|
||
|
|
@@ -243,6 +252,7 @@ func (c *DbClient) Get(w *sync.WaitGroup) ([]*spb.Value, error) { | |
| ts := time.Now() | ||
| for gnmiPath, tblPaths := range c.pathG2S { | ||
| val, err := tableData2TypedValue(tblPaths, nil) | ||
| //log.V(5).Infof("Val: %v\n", val) | ||
| if err != nil { | ||
| return nil, err | ||
| } | ||
|
|
@@ -496,6 +506,12 @@ func makeJSON_redis(msi *map[string]interface{}, key *string, op *string, mfv ma | |
| for f, v := range mfv { | ||
| (*msi)[f] = v | ||
| } | ||
| // Debug log | ||
| //log.V(5).Infof("msi: %v\n", msi) | ||
| //log.V(5).Infof("key: %v\n", key) | ||
| //log.V(5).Infof("op: %v\n", op) | ||
|
||
| //log.V(5).Infof("fv: %v\n", mfv) | ||
|
|
||
| return nil | ||
| } | ||
|
|
||
|
|
@@ -515,6 +531,12 @@ func makeJSON_redis(msi *map[string]interface{}, key *string, op *string, mfv ma | |
| of[*op] = fp | ||
| (*msi)[*key] = of | ||
| } | ||
|
|
||
| // Debug log | ||
| //log.V(5).Infof("msi: %v\n", msi) | ||
| //log.V(5).Infof("key: %v\n", key) | ||
| //log.V(5).Infof("op: %v\n", op) | ||
| //log.V(5).Infof("fv: %v\n", mfv) | ||
randygaulmsft marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| return nil | ||
| } | ||
|
|
||
|
|
@@ -589,6 +611,7 @@ func tableData2Msi(tblPath *tablePath, useKey bool, op *string, msi *map[string] | |
| // Split dbkey string into two parts and second part is key in table | ||
| keys := strings.SplitN(dbkey, tblPath.delimitor, 2) | ||
| key = keys[1] | ||
|
|
||
| err = makeJSON_redis(msi, &key, op, fv) | ||
| } | ||
| if err != nil { | ||
|
|
@@ -597,6 +620,7 @@ func tableData2Msi(tblPath *tablePath, useKey bool, op *string, msi *map[string] | |
| } | ||
| log.V(6).Infof("Added idex %v fv %v ", idx, fv) | ||
| } | ||
|
|
||
| return nil | ||
| } | ||
|
|
||
|
|
@@ -644,6 +668,9 @@ func tableData2TypedValue(tblPaths []tablePath, op *string) (*gnmipb.TypedValue, | |
| } | ||
| } | ||
|
|
||
| // Debug logging | ||
| log.V(5).Infof("tblPath: %v\n", tblPath) | ||
|
|
||
| err := tableData2Msi(&tblPath, useKey, nil, &msi) | ||
| if err != nil { | ||
| return nil, err | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,84 @@ | ||
| { | ||
| "SAI_PORT_STAT_ETHER_IN_PKTS_1024_TO_1518_OCTETS": "0", | ||
| "SAI_PORT_STAT_ETHER_IN_PKTS_128_TO_255_OCTETS": "0", | ||
| "SAI_PORT_STAT_ETHER_IN_PKTS_1519_TO_2047_OCTETS": "0", | ||
| "SAI_PORT_STAT_ETHER_IN_PKTS_2048_TO_4095_OCTETS": "0", | ||
| "SAI_PORT_STAT_ETHER_IN_PKTS_256_TO_511_OCTETS": "0", | ||
| "SAI_PORT_STAT_ETHER_IN_PKTS_4096_TO_9216_OCTETS": "0", | ||
| "SAI_PORT_STAT_ETHER_IN_PKTS_512_TO_1023_OCTETS": "0", | ||
| "SAI_PORT_STAT_ETHER_IN_PKTS_64_OCTETS": "0", | ||
| "SAI_PORT_STAT_ETHER_IN_PKTS_65_TO_127_OCTETS": "0", | ||
| "SAI_PORT_STAT_ETHER_IN_PKTS_9217_TO_16383_OCTETS": "0", | ||
| "SAI_PORT_STAT_ETHER_OUT_PKTS_1024_TO_1518_OCTETS": "0", | ||
| "SAI_PORT_STAT_ETHER_OUT_PKTS_128_TO_255_OCTETS": "0", | ||
| "SAI_PORT_STAT_ETHER_OUT_PKTS_1519_TO_2047_OCTETS": "0", | ||
| "SAI_PORT_STAT_ETHER_OUT_PKTS_2048_TO_4095_OCTETS": "0", | ||
| "SAI_PORT_STAT_ETHER_OUT_PKTS_256_TO_511_OCTETS": "0", | ||
| "SAI_PORT_STAT_ETHER_OUT_PKTS_4096_TO_9216_OCTETS": "0", | ||
| "SAI_PORT_STAT_ETHER_OUT_PKTS_512_TO_1023_OCTETS": "0", | ||
| "SAI_PORT_STAT_ETHER_OUT_PKTS_64_OCTETS": "0", | ||
| "SAI_PORT_STAT_ETHER_OUT_PKTS_65_TO_127_OCTETS": "0", | ||
| "SAI_PORT_STAT_ETHER_OUT_PKTS_9217_TO_16383_OCTETS": "0", | ||
| "SAI_PORT_STAT_ETHER_RX_OVERSIZE_PKTS": "0", | ||
| "SAI_PORT_STAT_ETHER_STATS_BROADCAST_PKTS": "0", | ||
| "SAI_PORT_STAT_ETHER_STATS_COLLISIONS": "0", | ||
| "SAI_PORT_STAT_ETHER_STATS_CRC_ALIGN_ERRORS": "0", | ||
| "SAI_PORT_STAT_ETHER_STATS_DROP_EVENTS": "0", | ||
| "SAI_PORT_STAT_ETHER_STATS_FRAGMENTS": "0", | ||
| "SAI_PORT_STAT_ETHER_STATS_JABBERS": "0", | ||
| "SAI_PORT_STAT_ETHER_STATS_MULTICAST_PKTS": "0", | ||
| "SAI_PORT_STAT_ETHER_STATS_OCTETS": "0", | ||
| "SAI_PORT_STAT_ETHER_STATS_OVERSIZE_PKTS": "0", | ||
| "SAI_PORT_STAT_ETHER_STATS_PKTS": "0", | ||
| "SAI_PORT_STAT_ETHER_STATS_PKTS_1024_TO_1518_OCTETS": "0", | ||
| "SAI_PORT_STAT_ETHER_STATS_PKTS_128_TO_255_OCTETS": "0", | ||
| "SAI_PORT_STAT_ETHER_STATS_PKTS_1519_TO_2047_OCTETS": "0", | ||
| "SAI_PORT_STAT_ETHER_STATS_PKTS_2048_TO_4095_OCTETS": "0", | ||
| "SAI_PORT_STAT_ETHER_STATS_PKTS_256_TO_511_OCTETS": "0", | ||
| "SAI_PORT_STAT_ETHER_STATS_PKTS_4096_TO_9216_OCTETS": "0", | ||
| "SAI_PORT_STAT_ETHER_STATS_PKTS_512_TO_1023_OCTETS": "0", | ||
| "SAI_PORT_STAT_ETHER_STATS_PKTS_64_OCTETS": "0", | ||
| "SAI_PORT_STAT_ETHER_STATS_PKTS_65_TO_127_OCTETS": "0", | ||
| "SAI_PORT_STAT_ETHER_STATS_PKTS_9217_TO_16383_OCTETS": "0", | ||
| "SAI_PORT_STAT_ETHER_STATS_RX_NO_ERRORS": "0", | ||
| "SAI_PORT_STAT_ETHER_STATS_TX_NO_ERRORS": "0", | ||
| "SAI_PORT_STAT_ETHER_STATS_UNDERSIZE_PKTS": "0", | ||
| "SAI_PORT_STAT_ETHER_TX_OVERSIZE_PKTS": "0", | ||
| "SAI_PORT_STAT_IF_IN_BROADCAST_PKTS": "0", | ||
| "SAI_PORT_STAT_IF_IN_DISCARDS": "0", | ||
| "SAI_PORT_STAT_IF_IN_ERRORS": "0", | ||
| "SAI_PORT_STAT_IF_IN_MULTICAST_PKTS": "0", | ||
| "SAI_PORT_STAT_IF_IN_NON_UCAST_PKTS": "0", | ||
| "SAI_PORT_STAT_IF_IN_OCTETS": "0", | ||
| "SAI_PORT_STAT_IF_IN_UCAST_PKTS": "0", | ||
| "SAI_PORT_STAT_IF_IN_UNKNOWN_PROTOS": "0", | ||
| "SAI_PORT_STAT_IF_IN_VLAN_DISCARDS": "0", | ||
| "SAI_PORT_STAT_IF_OUT_BROADCAST_PKTS": "0", | ||
| "SAI_PORT_STAT_IF_OUT_DISCARDS": "0", | ||
| "SAI_PORT_STAT_IF_OUT_ERRORS": "0", | ||
| "SAI_PORT_STAT_IF_OUT_MULTICAST_PKTS": "0", | ||
| "SAI_PORT_STAT_IF_OUT_NON_UCAST_PKTS": "0", | ||
| "SAI_PORT_STAT_IF_OUT_OCTETS": "0", | ||
| "SAI_PORT_STAT_IF_OUT_QLEN": "0", | ||
| "SAI_PORT_STAT_IF_OUT_UCAST_PKTS": "0", | ||
| "SAI_PORT_STAT_IPV6_IN_DISCARDS": "0", | ||
| "SAI_PORT_STAT_IPV6_IN_MCAST_PKTS": "0", | ||
| "SAI_PORT_STAT_IPV6_IN_NON_UCAST_PKTS": "0", | ||
| "SAI_PORT_STAT_IPV6_IN_OCTETS": "0", | ||
| "SAI_PORT_STAT_IPV6_IN_RECEIVES": "0", | ||
| "SAI_PORT_STAT_IPV6_IN_UCAST_PKTS": "0", | ||
| "SAI_PORT_STAT_IPV6_OUT_DISCARDS": "0", | ||
| "SAI_PORT_STAT_IPV6_OUT_MCAST_PKTS": "0", | ||
| "SAI_PORT_STAT_IPV6_OUT_NON_UCAST_PKTS": "0", | ||
| "SAI_PORT_STAT_IPV6_OUT_OCTETS": "0", | ||
| "SAI_PORT_STAT_IPV6_OUT_UCAST_PKTS": "0", | ||
| "SAI_PORT_STAT_IP_IN_DISCARDS": "0", | ||
| "SAI_PORT_STAT_IP_IN_NON_UCAST_PKTS": "0", | ||
| "SAI_PORT_STAT_IP_IN_OCTETS": "0", | ||
| "SAI_PORT_STAT_IP_IN_RECEIVES": "0", | ||
| "SAI_PORT_STAT_IP_IN_UCAST_PKTS": "0", | ||
| "SAI_PORT_STAT_IP_OUT_DISCARDS": "0", | ||
| "SAI_PORT_STAT_IP_OUT_NON_UCAST_PKTS": "0", | ||
| "SAI_PORT_STAT_IP_OUT_OCTETS": "0", | ||
| "SAI_PORT_STAT_IP_OUT_UCAST_PKTS": "0" | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,18 @@ | ||
| { | ||
| "SAI_PORT_STAT_PFC_0_RX_PKTS": "0", | ||
| "SAI_PORT_STAT_PFC_0_TX_PKTS": "0", | ||
| "SAI_PORT_STAT_PFC_1_RX_PKTS": "0", | ||
| "SAI_PORT_STAT_PFC_1_TX_PKTS": "0", | ||
| "SAI_PORT_STAT_PFC_2_RX_PKTS": "0", | ||
| "SAI_PORT_STAT_PFC_2_TX_PKTS": "0", | ||
| "SAI_PORT_STAT_PFC_3_RX_PKTS": "0", | ||
| "SAI_PORT_STAT_PFC_3_TX_PKTS": "0", | ||
| "SAI_PORT_STAT_PFC_4_RX_PKTS": "0", | ||
| "SAI_PORT_STAT_PFC_4_TX_PKTS": "0", | ||
| "SAI_PORT_STAT_PFC_5_RX_PKTS": "0", | ||
| "SAI_PORT_STAT_PFC_5_TX_PKTS": "0", | ||
| "SAI_PORT_STAT_PFC_6_RX_PKTS": "0", | ||
| "SAI_PORT_STAT_PFC_6_TX_PKTS": "0", | ||
| "SAI_PORT_STAT_PFC_7_RX_PKTS": "2", | ||
| "SAI_PORT_STAT_PFC_7_TX_PKTS": "0" | ||
| } |
Uh oh!
There was an error while loading. Please reload this page.