Skip to content

Commit 9d1e34c

Browse files
authored
Fix test_acl_outer_vlan (#4696)
Signed-off-by: bingwang <[email protected]>
1 parent b052c49 commit 9d1e34c

1 file changed

Lines changed: 8 additions & 3 deletions

File tree

tests/acl/test_acl_outer_vlan.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
from tests.common.helpers.assertions import pytest_assert, pytest_require
1818
from tests.common.fixtures.ptfhost_utils import change_mac_addresses # lgtm[py/unused-import]
1919
from tests.common.plugins.loganalyzer.loganalyzer import LogAnalyzer, LogAnalyzerError
20-
2120
from abc import abstractmethod
2221

2322
logger = logging.getLogger(__name__)
@@ -56,7 +55,8 @@
5655

5756
LOG_EXPECT_ACL_TABLE_CREATE_RE = ".*Created ACL table.*"
5857
LOG_EXPECT_ACL_TABLE_REMOVE_RE = ".*Successfully deleted ACL table.*"
59-
58+
ARP_RESPONDER_SCRIPT_SRC_PATH = '../ansible/roles/test/files/helpers/arp_responder.py'
59+
ARP_RESPONDER_SCRIPT_DEST_PATH = '/opt/arp_responder.py'
6060

6161
@pytest.fixture(scope="module", params=[IPV4, IPV6])
6262
def ip_version(request):
@@ -269,6 +269,7 @@ def send_and_verify_traffic(ptfadapter, pkt, exp_pkt, src_port, dst_port, pkt_ac
269269
elif pkt_action == ACTION_DROP:
270270
testutils.verify_no_packet(ptfadapter, exp_pkt, dst_port)
271271

272+
272273
def get_acl_counter(duthost, table_name, rule_name, timeout=ACL_COUNTERS_UPDATE_INTERVAL):
273274
"""
274275
Get Acl counter packets value
@@ -451,7 +452,7 @@ def _setup_acl_rules(self, duthost, stage, ip_ver, vlan_id, action):
451452
logger.info("Creating ACL rule matching vlan {} action {}".format(vlan_id, action))
452453
duthost.shell("config load -y {}".format(dest_path))
453454

454-
pytest_assert(wait_until(60, 2, check_rule_counters, duthost), "Acl rule counters are not ready")
455+
pytest_assert(wait_until(60, 2, 0, check_rule_counters, duthost), "Acl rule counters are not ready")
455456

456457
def _remove_acl_rules(self, duthost, stage, ip_ver):
457458
table_name = ACL_TABLE_NAME_TEMPLATE.format(stage, ip_ver)
@@ -647,6 +648,9 @@ def _setup_arp_responder(self, ptfhost, vlan_setup_info):
647648

648649
ptfhost.host.options['variable_manager'].extra_vars.update(extra_vars)
649650
ptfhost.template(src='templates/arp_responder.conf.j2', dest='/etc/supervisor/conf.d/arp_responder.conf')
651+
# Copy arp_responder.py script
652+
# Please be noted that tests/script/arp_responder.py can't deal with arp request with vlan id
653+
ptfhost.copy(src=ARP_RESPONDER_SCRIPT_SRC_PATH, dest=ARP_RESPONDER_SCRIPT_DEST_PATH)
650654

651655
ptfhost.command('supervisorctl reread')
652656
ptfhost.command('supervisorctl update')
@@ -658,6 +662,7 @@ def _setup_arp_responder(self, ptfhost, vlan_setup_info):
658662
def _teardown_arp_responder(self, ptfhost):
659663
logger.info("Stopping arp_responder")
660664
ptfhost.command('supervisorctl stop arp_responder')
665+
ptfhost.file(path=ARP_RESPONDER_SCRIPT_DEST_PATH, state="absent")
661666

662667
def pre_running_hook(self, duthost, ptfhost, ip_version, vlan_setup_info):
663668
# Skip on broadcom platforms

0 commit comments

Comments
 (0)