[voq/inbandif] Support for inband port as regular port (#6477)
Changes in this PR are to make LLDP to consider Inband port and to avoid regular port handling on Inband port.
This commit is contained in:
parent
aa63c71420
commit
973affce39
@ -22,6 +22,7 @@ try:
|
|||||||
|
|
||||||
from sonic_py_common import daemon_base
|
from sonic_py_common import daemon_base
|
||||||
from swsscommon import swsscommon
|
from swsscommon import swsscommon
|
||||||
|
from sonic_py_common.interface import inband_prefix
|
||||||
except ImportError as err:
|
except ImportError as err:
|
||||||
raise ImportError("%s - required module not found" % str(err))
|
raise ImportError("%s - required module not found" % str(err))
|
||||||
|
|
||||||
@ -94,6 +95,11 @@ class LldpManager(daemon_base.DaemonBase):
|
|||||||
"""
|
"""
|
||||||
port_desc = None
|
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
|
# Retrieve all entires for this port from the Port table
|
||||||
port_table = swsscommon.Table(self.config_db, swsscommon.CFG_PORT_TABLE_NAME)
|
port_table = swsscommon.Table(self.config_db, swsscommon.CFG_PORT_TABLE_NAME)
|
||||||
(status, fvp) = port_table.get(port_name)
|
(status, fvp) = port_table.get(port_name)
|
||||||
|
@ -90,6 +90,16 @@ fi
|
|||||||
if [ "$conn_chassis_db" == "1" ]; then
|
if [ "$conn_chassis_db" == "1" ]; then
|
||||||
if [ -f /usr/share/sonic/virtual_chassis/coreportindexmap.ini ]; then
|
if [ -f /usr/share/sonic/virtual_chassis/coreportindexmap.ini ]; then
|
||||||
cp /usr/share/sonic/virtual_chassis/coreportindexmap.ini /usr/share/sonic/hwsku/
|
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
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -13,7 +13,8 @@ SONIC_INTERFACE_PREFIXES = {
|
|||||||
"PortChannel": "PortChannel",
|
"PortChannel": "PortChannel",
|
||||||
"Vlan": "Vlan",
|
"Vlan": "Vlan",
|
||||||
"Loopback": "Loopback",
|
"Loopback": "Loopback",
|
||||||
"Ethernet-Backplane": "Ethernet-BP"
|
"Ethernet-Backplane": "Ethernet-BP",
|
||||||
|
"Ethernet-Inband": "Ethernet-IB"
|
||||||
}
|
}
|
||||||
|
|
||||||
VLAN_SUB_INTERFACE_SEPARATOR = '.'
|
VLAN_SUB_INTERFACE_SEPARATOR = '.'
|
||||||
@ -48,6 +49,12 @@ def loopback_prefix():
|
|||||||
"""
|
"""
|
||||||
return SONIC_INTERFACE_PREFIXES["Loopback"]
|
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):
|
def get_interface_table_name(interface_name):
|
||||||
"""Get table name by interface_name prefix
|
"""Get table name by interface_name prefix
|
||||||
"""
|
"""
|
||||||
|
Reference in New Issue
Block a user