diff --git a/dockers/docker-lldp/lldpmgrd b/dockers/docker-lldp/lldpmgrd index 61d6034faa15..2cf73408f419 100755 --- a/dockers/docker-lldp/lldpmgrd +++ b/dockers/docker-lldp/lldpmgrd @@ -22,6 +22,7 @@ try: from sonic_py_common import daemon_base from swsscommon import swsscommon + from sonic_py_common.interface import inband_prefix except ImportError as err: raise ImportError("%s - required module not found" % str(err)) @@ -94,6 +95,11 @@ class LldpManager(daemon_base.DaemonBase): """ port_desc = None + # Skip inband interface prefixes. These are recycle ports exposed in PORT_TABLE for + # asic-to-asic communication in VOQ based chassis system. We do not configure LLDP on these. + if port_name.startswith(inband_prefix()): + return + # Retrieve all entires for this port from the Port table port_table = swsscommon.Table(self.config_db, swsscommon.CFG_PORT_TABLE_NAME) (status, fvp) = port_table.get(port_name) diff --git a/platform/vs/docker-sonic-vs/start.sh b/platform/vs/docker-sonic-vs/start.sh index 7ee70efa0815..b4adbc2fd341 100755 --- a/platform/vs/docker-sonic-vs/start.sh +++ b/platform/vs/docker-sonic-vs/start.sh @@ -90,6 +90,16 @@ fi if [ "$conn_chassis_db" == "1" ]; then if [ -f /usr/share/sonic/virtual_chassis/coreportindexmap.ini ]; then cp /usr/share/sonic/virtual_chassis/coreportindexmap.ini /usr/share/sonic/hwsku/ + + pushd /usr/share/sonic/hwsku + + # filter available front panel ports in coreportindexmap.ini + [ -f coreportindexmap.ini.orig ] || cp coreportindexmap.ini coreportindexmap.ini.orig + for p in $(ip link show | grep -oE "eth[0-9]+" | grep -v eth0); do + grep ^$p: coreportindexmap.ini.orig + done > coreportindexmap.ini + + popd fi fi diff --git a/src/sonic-py-common/sonic_py_common/interface.py b/src/sonic-py-common/sonic_py_common/interface.py index 10452c613124..b56326e82aad 100644 --- a/src/sonic-py-common/sonic_py_common/interface.py +++ b/src/sonic-py-common/sonic_py_common/interface.py @@ -13,7 +13,8 @@ "PortChannel": "PortChannel", "Vlan": "Vlan", "Loopback": "Loopback", - "Ethernet-Backplane": "Ethernet-BP" + "Ethernet-Backplane": "Ethernet-BP", + "Ethernet-Inband": "Ethernet-IB" } VLAN_SUB_INTERFACE_SEPARATOR = '.' @@ -48,6 +49,12 @@ def loopback_prefix(): """ return SONIC_INTERFACE_PREFIXES["Loopback"] +def inband_prefix(): + """ + Retrieves the SONIC recycle port inband interface name prefix. + """ + return SONIC_INTERFACE_PREFIXES["Ethernet-Inband"] + def get_interface_table_name(interface_name): """Get table name by interface_name prefix """