55from swsssdk import SonicV2Connector
66from swsssdk import SonicDBConfig
77from swsssdk import port_util
8- from swsssdk .port_util import get_index , get_index_from_str
8+ from swsssdk .port_util import get_index_from_str
99from ax_interface .mib import MIBUpdater
1010from ax_interface .util import oid2tuple
1111from sonic_ax_impl import logger
1212
13- COUNTERS_PORT_NAME_MAP = b 'COUNTERS_PORT_NAME_MAP'
14- COUNTERS_QUEUE_NAME_MAP = b 'COUNTERS_QUEUE_NAME_MAP'
15- LAG_TABLE = b 'LAG_TABLE'
16- LAG_MEMBER_TABLE = b 'LAG_MEMBER_TABLE'
17- LOC_CHASSIS_TABLE = b 'LLDP_LOC_CHASSIS'
13+ COUNTERS_PORT_NAME_MAP = 'COUNTERS_PORT_NAME_MAP'
14+ COUNTERS_QUEUE_NAME_MAP = 'COUNTERS_QUEUE_NAME_MAP'
15+ LAG_TABLE = 'LAG_TABLE'
16+ LAG_MEMBER_TABLE = 'LAG_MEMBER_TABLE'
17+ LOC_CHASSIS_TABLE = 'LLDP_LOC_CHASSIS'
1818APPL_DB = 'APPL_DB'
1919ASIC_DB = 'ASIC_DB'
2020COUNTERS_DB = 'COUNTERS_DB'
@@ -78,14 +78,14 @@ def counter_table(sai_id):
7878 :param if_name: given sai_id to cast.
7979 :return: COUNTERS table key.
8080 """
81- return b 'COUNTERS:oid:0x' + sai_id
81+ return 'COUNTERS:oid:0x' + sai_id
8282
8383def queue_table (sai_id ):
8484 """
8585 :param sai_id: given sai_id to cast.
8686 :return: COUNTERS table key.
8787 """
88- return b 'COUNTERS:' + sai_id
88+ return 'COUNTERS:' + sai_id
8989
9090def queue_key (port_index , queue_index ):
9191 return str (port_index ) + ':' + str (queue_index )
@@ -111,23 +111,23 @@ def lldp_entry_table(if_name):
111111 :param if_name: given interface to cast.
112112 :return: LLDP_ENTRY_TABLE key.
113113 """
114- return b 'LLDP_ENTRY_TABLE:' + if_name
114+ return 'LLDP_ENTRY_TABLE:' + if_name
115115
116116
117117def if_entry_table (if_name ):
118118 """
119119 :param if_name: given interface to cast.
120120 :return: PORT_TABLE key.
121121 """
122- return b 'PORT_TABLE:' + if_name
122+ return 'PORT_TABLE:' + if_name
123123
124124
125125def lag_entry_table (lag_name ):
126126 """
127127 :param lag_name: given lag to cast.
128128 :return: LAG_TABLE key.
129129 """
130- return b 'LAG_TABLE:' + lag_name
130+ return 'LAG_TABLE:' + lag_name
131131
132132
133133def mgmt_if_entry_table (if_name ):
@@ -136,7 +136,7 @@ def mgmt_if_entry_table(if_name):
136136 :return: MGMT_PORT_TABLE key
137137 """
138138
139- return b 'MGMT_PORT|' + if_name
139+ return 'MGMT_PORT|' + if_name
140140
141141
142142def mgmt_if_entry_table_state_db (if_name ):
@@ -145,7 +145,7 @@ def mgmt_if_entry_table_state_db(if_name):
145145 :return: MGMT_PORT_TABLE key
146146 """
147147
148- return b 'MGMT_PORT_TABLE|' + if_name
148+ return 'MGMT_PORT_TABLE|' + if_name
149149
150150def get_sai_id_key (namespace , sai_id ):
151151 """
@@ -157,7 +157,7 @@ def get_sai_id_key(namespace, sai_id):
157157 Return value: namespace:sai id or sai id
158158 """
159159 if namespace != '' :
160- return namespace . encode () + b ':' + sai_id
160+ return namespace + ':' + sai_id
161161 else :
162162 return sai_id
163163
@@ -166,15 +166,16 @@ def split_sai_id_key(sai_id_key):
166166 Input - bytes
167167 Return namespace string and sai id in byte string.
168168 """
169- result = sai_id_key .split (b ':' )
169+ result = sai_id_key .split (':' )
170170 if len (result ) == 1 :
171171 return '' , sai_id_key
172172 else :
173- return result [0 ]. decode () , result [1 ]
173+ return result [0 ], result [1 ]
174174
175175def config (** kwargs ):
176176 global redis_kwargs
177177 redis_kwargs = {k :v for (k ,v ) in kwargs .items () if k in ['unix_socket_path' , 'host' , 'port' ]}
178+ redis_kwargs ['decode_responses' ] = True
178179
179180def init_db ():
180181 """
@@ -198,21 +199,21 @@ def init_mgmt_interface_tables(db_conn):
198199 db_conn .connect (CONFIG_DB )
199200 db_conn .connect (STATE_DB )
200201
201- mgmt_ports_keys = db_conn .keys (CONFIG_DB , mgmt_if_entry_table (b '*' ))
202+ mgmt_ports_keys = db_conn .keys (CONFIG_DB , mgmt_if_entry_table ('*' ))
202203
203204 if not mgmt_ports_keys :
204- logger .debug ('No managment ports found in {}' .format (mgmt_if_entry_table (b '' )))
205+ logger .debug ('No managment ports found in {}' .format (mgmt_if_entry_table ('' )))
205206 return {}, {}
206207
207- mgmt_ports = [key .split (mgmt_if_entry_table (b '' ))[- 1 ] for key in mgmt_ports_keys ]
208- oid_name_map = {get_index (mgmt_name ): mgmt_name for mgmt_name in mgmt_ports }
208+ mgmt_ports = [key .split (mgmt_if_entry_table ('' ))[- 1 ] for key in mgmt_ports_keys ]
209+ oid_name_map = {get_index_from_str (mgmt_name ): mgmt_name for mgmt_name in mgmt_ports }
209210 logger .debug ('Managment port map:\n ' + pprint .pformat (oid_name_map , indent = 2 ))
210211
211212 if_alias_map = dict ()
212213
213214 for if_name in oid_name_map .values ():
214215 if_entry = db_conn .get_all (CONFIG_DB , mgmt_if_entry_table (if_name ), blocking = True )
215- if_alias_map [if_name ] = if_entry .get (b 'alias' , if_name )
216+ if_alias_map [if_name ] = if_entry .get ('alias' , if_name )
216217
217218 logger .debug ("Management alias map:\n " + pprint .pformat (if_alias_map , indent = 2 ))
218219
@@ -230,7 +231,7 @@ def init_sync_d_interface_tables(db_conn):
230231 # ex: { "Ethernet76" : "1000000000023" }
231232 if_name_map_util , if_id_map_util = port_util .get_interface_oid_map (db_conn )
232233 for if_name , sai_id in if_name_map_util .items ():
233- if_name_str = if_name . decode ()
234+ if_name_str = if_name
234235 if (re .match (port_util .SONIC_ETHERNET_RE_PATTERN , if_name_str ) or \
235236 re .match (port_util .SONIC_ETHERNET_BP_RE_PATTERN , if_name_str )):
236237 if_name_map [if_name ] = sai_id
@@ -239,17 +240,16 @@ def init_sync_d_interface_tables(db_conn):
239240 # string or in sai id.
240241 # sai_id_key = namespace : sai_id
241242 for sai_id , if_name in if_id_map_util .items ():
242- if_name = if_name .decode ()
243243 if (re .match (port_util .SONIC_ETHERNET_RE_PATTERN , if_name ) or \
244244 re .match (port_util .SONIC_ETHERNET_BP_RE_PATTERN , if_name )):
245245 if_id_map [get_sai_id_key (db_conn .namespace , sai_id )] = if_name
246246 logger .debug ("Port name map:\n " + pprint .pformat (if_name_map , indent = 2 ))
247247 logger .debug ("Interface name map:\n " + pprint .pformat (if_id_map , indent = 2 ))
248248
249249 # { OID -> if_name (SONiC) }
250- oid_name_map = {get_index (if_name ): if_name for if_name in if_name_map
250+ oid_name_map = {get_index_from_str (if_name ): if_name for if_name in if_name_map
251251 # only map the interface if it's a style understood to be a SONiC interface.
252- if get_index (if_name ) is not None }
252+ if get_index_from_str (if_name ) is not None }
253253
254254 logger .debug ("OID name map:\n " + pprint .pformat (oid_name_map , indent = 2 ))
255255
@@ -272,7 +272,7 @@ def init_sync_d_interface_tables(db_conn):
272272
273273 for if_name in if_name_map :
274274 if_entry = db_conn .get_all (APPL_DB , if_entry_table (if_name ), blocking = True )
275- if_alias_map [if_name ] = if_entry .get (b 'alias' , if_name )
275+ if_alias_map [if_name ] = if_entry .get ('alias' , if_name )
276276
277277 logger .debug ("Chassis name map:\n " + pprint .pformat (if_alias_map , indent = 2 ))
278278
@@ -295,28 +295,28 @@ def init_sync_d_lag_tables(db_conn):
295295
296296 db_conn .connect (APPL_DB )
297297
298- lag_entries = db_conn .keys (APPL_DB , b "LAG_TABLE:*" )
298+ lag_entries = db_conn .keys (APPL_DB , "LAG_TABLE:*" )
299299
300300 if not lag_entries :
301301 return lag_name_if_name_map , if_name_lag_name_map , oid_lag_name_map
302302
303303 for lag_entry in lag_entries :
304- lag_name = lag_entry [len (b "LAG_TABLE:" ):]
305- lag_members = db_conn .keys (APPL_DB , b "LAG_MEMBER_TABLE:%s:*" % lag_name )
304+ lag_name = lag_entry [len ("LAG_TABLE:" ):]
305+ lag_members = db_conn .keys (APPL_DB , "LAG_MEMBER_TABLE:%s:*" % lag_name )
306306 # TODO: db_conn.keys() should really return [] instead of None
307307 if lag_members is None :
308308 lag_members = []
309309
310310 def member_name_str (val , lag_name ):
311- return val [len (b "LAG_MEMBER_TABLE:%s:" % lag_name ):]
311+ return val [len ("LAG_MEMBER_TABLE:%s:" % lag_name ):]
312312
313313 lag_member_names = [member_name_str (m , lag_name ) for m in lag_members ]
314314 lag_name_if_name_map [lag_name ] = lag_member_names
315315 for lag_member_name in lag_member_names :
316316 if_name_lag_name_map [lag_member_name ] = lag_name
317317
318318 for if_name in lag_name_if_name_map .keys ():
319- idx = get_index (if_name )
319+ idx = get_index_from_str (if_name )
320320 if idx :
321321 oid_lag_name_map [idx ] = if_name
322322
@@ -342,7 +342,7 @@ def init_sync_d_queue_tables(db_conn):
342342 port_queue_list_map = {}
343343
344344 for queue_name , sai_id in queue_name_map .items ():
345- port_name , queue_index = queue_name .decode (). split (':' )
345+ port_name , queue_index = queue_name .split (':' )
346346 queue_index = '' .join (i for i in queue_index if i .isdigit ())
347347 port_index = get_index_from_str (port_name )
348348 key = queue_key (port_index , queue_index )
@@ -464,12 +464,11 @@ def update_data(self):
464464 keys = []
465465
466466 for key in keys :
467- key = key .decode ()
468467 oid = oid2tuple (key , dot_prefix = False )
469468 self .oid_list .append (oid )
470469 value = Namespace .dbs_get_all (self .db_conn , SNMP_OVERLAY_DB , key )
471- if value [b 'type' ] in [b 'COUNTER_32' , b 'COUNTER_64' ]:
472- self .oid_map [oid ] = int (value [b 'data' ])
470+ if value ['type' ] in ['COUNTER_32' , 'COUNTER_64' ]:
471+ self .oid_map [oid ] = int (value ['data' ])
473472 else :
474473 raise ValueError ("Invalid value type" )
475474
@@ -486,7 +485,7 @@ def init_namespace_dbs():
486485 db_conn = []
487486 SonicDBConfig .load_sonic_global_db_config ()
488487 for namespace in SonicDBConfig .get_ns_list ():
489- db = SonicV2Connector (use_unix_socket_path = True , namespace = namespace )
488+ db = SonicV2Connector (use_unix_socket_path = True , namespace = namespace , decode_responses = True )
490489 db_conn .append (db )
491490
492491 Namespace .connect_namespace_dbs (db_conn )
0 commit comments