[sonic-py-common][multi ASIC] API to get a list of frontend ports (#5221)
* [sonic-py-common][multi ASIC] utility to get a list of frontend ports from a given list of ports
This commit is contained in:
parent
649b430faa
commit
389c5fe5ea
@ -163,9 +163,8 @@ def get_namespaces_from_linux():
|
||||
In a multi asic platform, each ASIC is in a Linux Namespace.
|
||||
This method returns list of all the Namespace present on the device
|
||||
|
||||
Note: It is preferable to use this function can be used only
|
||||
when the config_db is not available.
|
||||
When configdb is available use get_all_namespaces()
|
||||
Note: It is preferable to use this function only when config_db is not
|
||||
available. When configdb is available use get_all_namespaces()
|
||||
|
||||
Returns:
|
||||
List of the namespaces present in the system
|
||||
@ -281,6 +280,17 @@ def is_port_internal(port_name, namespace=None):
|
||||
return False
|
||||
|
||||
|
||||
def get_external_ports(port_names, namespace=None):
|
||||
external_ports = set()
|
||||
ports_config = get_port_table(namespace)
|
||||
for port in port_names:
|
||||
if port in ports_config:
|
||||
if (PORT_ROLE not in ports_config[port] or
|
||||
ports_config[port][PORT_ROLE] == EXTERNAL_PORT):
|
||||
external_ports.add(port)
|
||||
return external_ports
|
||||
|
||||
|
||||
def is_port_channel_internal(port_channel, namespace=None):
|
||||
|
||||
if not is_multi_asic():
|
||||
|
Loading…
Reference in New Issue
Block a user