Skip to content

Commit

Permalink
Support 2 vlan config in topology for test_acl (#16322)
Browse files Browse the repository at this point in the history
What is the motivation for this PR?
If enable 2vlan config in topology file(such as ansible/vars/topo_t0-116.yml):
change from

    vlan_configs:
      default_vlan_config: one_vlan_a
to

    vlan_configs:
      default_vlan_config: two_vlan_a
Then vlan name is not Vlan1000 anymore, it could be Vlan100 or Vlan200.
So, in https://github.com/sonic-net/sonic-mgmt/pull/9334/files, it sets default vlan name to Vlan1000 in pytest_generate_tests for T0 is not very reasonable.

How did you do it?
So, in test_acl, for T0 topology, still get vlan name from config, not from vlan_name parameter, then test_acl can pass.

How did you verify/test it?
Run test_acl on testbed with 2vlan config.
  • Loading branch information
ZhaohuiS authored Jan 6, 2025
1 parent b123f7b commit d4418fc
Showing 1 changed file with 9 additions and 2 deletions.
11 changes: 9 additions & 2 deletions tests/acl/test_acl.py
Original file line number Diff line number Diff line change
Expand Up @@ -302,15 +302,22 @@ def setup(duthosts, ptfhost, rand_selected_dut, rand_unselected_dut, tbinfo, ptf
DOWNSTREAM_DST_IP = DOWNSTREAM_DST_IP_M0_L3
DOWNSTREAM_IP_TO_ALLOW = DOWNSTREAM_IP_TO_ALLOW_M0_L3
DOWNSTREAM_IP_TO_BLOCK = DOWNSTREAM_IP_TO_BLOCK_M0_L3
if topo in ["t0", "mx", "m0_vlan"]:
if topo in ["mx", "m0_vlan"]:
vlan_ports = [mg_facts["minigraph_ptf_indices"][ifname]
for ifname in mg_facts["minigraph_vlans"][vlan_name]["members"]]

config_facts = rand_selected_dut.get_running_config_facts()
vlan_table = config_facts["VLAN"]
if "mac" in vlan_table[vlan_name]:
vlan_mac = vlan_table[vlan_name]["mac"]

elif topo in ["t0"]:
vlan_ports = [mg_facts["minigraph_ptf_indices"][ifname]
for ifname in list(mg_facts["minigraph_vlans"].values())[0]["members"]]
config_facts = rand_selected_dut.get_running_config_facts()
vlan_table = config_facts["VLAN"]
vlan_name = list(vlan_table.keys())[0]
if "mac" in vlan_table[vlan_name]:
vlan_mac = vlan_table[vlan_name]["mac"]
# Get the list of upstream/downstream ports
downstream_ports = defaultdict(list)
upstream_ports = defaultdict(list)
Expand Down

0 comments on commit d4418fc

Please sign in to comment.