@@ -2252,20 +2252,25 @@ def bfd():
22522252# 'summary' subcommand ("show bfd summary")
22532253@bfd .command ()
22542254@clicommon .pass_db
2255- def summary (db ):
2255+ @click .option ('--namespace' , '-n' , 'namespace' , default = None , type = str , show_default = True ,
2256+ help = 'Namespace name or all' , callback = multi_asic_util .multi_asic_namespace_validation_callback )
2257+ def summary (db , namespace ):
22562258 """Show bfd session information"""
22572259 bfd_headers = ["Peer Addr" , "Interface" , "Vrf" , "State" , "Type" , "Local Addr" ,
22582260 "TX Interval" , "RX Interval" , "Multiplier" , "Multihop" , "Local Discriminator" ]
22592261
2260- bfd_keys = db .db .keys (db .db .STATE_DB , "BFD_SESSION_TABLE|*" )
2262+ if namespace is None :
2263+ namespace = constants .DEFAULT_NAMESPACE
2264+
2265+ bfd_keys = db .db_clients [namespace ].keys (db .db .STATE_DB , "BFD_SESSION_TABLE|*" )
22612266
22622267 click .echo ("Total number of BFD sessions: {}" .format (0 if bfd_keys is None else len (bfd_keys )))
22632268
22642269 bfd_body = []
22652270 if bfd_keys is not None :
22662271 for key in bfd_keys :
22672272 key_values = key .split ('|' )
2268- values = db .db .get_all (db .db .STATE_DB , key )
2273+ values = db .db_clients [ namespace ] .get_all (db .db .STATE_DB , key )
22692274 if "local_discriminator" not in values .keys ():
22702275 values ["local_discriminator" ] = "NA"
22712276 bfd_body .append ([key_values [3 ], key_values [2 ], key_values [1 ], values ["state" ], values ["type" ], values ["local_addr" ],
@@ -2278,13 +2283,18 @@ def summary(db):
22782283@bfd .command ()
22792284@clicommon .pass_db
22802285@click .argument ('peer_ip' , required = True )
2281- def peer (db , peer_ip ):
2286+ @click .option ('--namespace' , '-n' , 'namespace' , default = None , type = str , show_default = True ,
2287+ help = 'Namespace name or all' , callback = multi_asic_util .multi_asic_namespace_validation_callback )
2288+ def peer (db , peer_ip , namespace ):
22822289 """Show bfd session information for BFD peer"""
22832290 bfd_headers = ["Peer Addr" , "Interface" , "Vrf" , "State" , "Type" , "Local Addr" ,
22842291 "TX Interval" , "RX Interval" , "Multiplier" , "Multihop" , "Local Discriminator" ]
22852292
2286- bfd_keys = db .db .keys (db .db .STATE_DB , "BFD_SESSION_TABLE|*|{}" .format (peer_ip ))
2287- delimiter = db .db .get_db_separator (db .db .STATE_DB )
2293+ if namespace is None :
2294+ namespace = constants .DEFAULT_NAMESPACE
2295+
2296+ bfd_keys = db .db_clients [namespace ].keys (db .db .STATE_DB , "BFD_SESSION_TABLE|*|{}" .format (peer_ip ))
2297+ delimiter = db .db_clients [namespace ].get_db_separator (db .db .STATE_DB )
22882298
22892299 if bfd_keys is None or len (bfd_keys ) == 0 :
22902300 click .echo ("No BFD sessions found for peer IP {}" .format (peer_ip ))
@@ -2296,7 +2306,7 @@ def peer(db, peer_ip):
22962306 if bfd_keys is not None :
22972307 for key in bfd_keys :
22982308 key_values = key .split (delimiter )
2299- values = db .db .get_all (db .db .STATE_DB , key )
2309+ values = db .db_clients [ namespace ] .get_all (db .db .STATE_DB , key )
23002310 if "local_discriminator" not in values .keys ():
23012311 values ["local_discriminator" ] = "NA"
23022312 bfd_body .append ([key_values [3 ], key_values [2 ], key_values [1 ], values .get ("state" ), values .get ("type" ), values .get ("local_addr" ),
0 commit comments