Skip to content

Commit

Permalink
[EVERFLOW][ACL_ATBLE] Fix for everflow ACL_TABLE in config_db not hav…
Browse files Browse the repository at this point in the history
…ing the routed ports when no -ASIC in the asic_port_name (#13532)

Why I did it
After the renaming of the asic_port_name in port_config.ini file (PR: #13053 ), the asic_ifname in port_config.ini is changed from '-ASIC<asic_id>' to just port. Example: 'Eth0-ASIC0' to 'Eth0'.

However, with this change a config_db generated via config load_minigraph would cause the EVERFLOW and EVERFLOWV6 tables under ACL_TABLE to not have any of non-LAG front panel interfaces. This was causing the EVERFLOW suite to fail.

How I did it
In parse_asic_external_neigbhors in minigraph.py there was a check that the asic_name.lower() (like asic0) is present in the port_alias_asic_map. However with -ASIC removed from the asic_ifname, the port_alias_asic_map would not have the asic_name and thus any non-LAG neighbor would not be included.

Fix was the ignore the asic name change as the port_alias_asic_map is already only looking for ports in just the same asic as asic_name.

How to verify it
Execute "config load_minigraph" with the mingraph which is generated by sonic-mgmt gen-minigraph script. And confirm ono-lag interface are present in the Everfloe table in the config_dbs.

Signed-off-by: mlok <marty.lok@nokia.com>
  • Loading branch information
mlok-nokia authored and mssonicbld committed Mar 16, 2023
1 parent 1a83888 commit 21db66a
Showing 1 changed file with 2 additions and 4 deletions.
6 changes: 2 additions & 4 deletions src/sonic-config-engine/minigraph.py
Original file line number Diff line number Diff line change
Expand Up @@ -322,15 +322,13 @@ def parse_asic_external_link(link, asic_name, hostname):
# if chassis internal is false, the interface name will be
# interface alias which should be converted to asic port name
if (enddevice.lower() == hostname.lower()):
if ((endport in port_alias_asic_map) and
(asic_name.lower() in port_alias_asic_map[endport].lower())):
if endport in port_alias_asic_map:
endport = port_alias_asic_map[endport]
neighbors[port_alias_map[endport]] = {'name': startdevice, 'port': startport}
if bandwidth:
port_speeds[port_alias_map[endport]] = bandwidth
elif (startdevice.lower() == hostname.lower()):
if ((startport in port_alias_asic_map) and
(asic_name.lower() in port_alias_asic_map[startport].lower())):
if startport in port_alias_asic_map:
startport = port_alias_asic_map[startport]
neighbors[port_alias_map[startport]] = {'name': enddevice, 'port': endport}
if bandwidth:
Expand Down

0 comments on commit 21db66a

Please sign in to comment.