Skip to content

Commit

Permalink
[dualtor] Disable running icmp_responder at session-level (sonic-ne…
Browse files Browse the repository at this point in the history
…t#9117)

Approach
What is the motivation for this PR?
Disable running icmp_responder at session level.
The reason is that enabling icmp_responder at the session level could cause some T0 testcase failures as the ICMP replies pollute the FDB table.

For example:
Port Ethernet4, mux server IP 192.168.0.2, connected to ptf port eth1 that has mac A.
Port Ethernet40, connected to ptf port eth10 that has mac B.

Some T0 testcases configure 192.168.0.2 IP on ptf port eth10, DUTs will learn the arp as 192.168.0.2 with mac B on port Ethernet40. After linkmgrd learns the arp, it will send heartbeats to 192.168.0.2 with dest mac as B on Ethernet4. As the icmp_responder is running, DUT will receive heartbeat replies with source IP 192.168.0.2 and source mac B on Ethernet4.
So DUT will learn mac B on Ethernet4, the arp entry of 192.168.0.2 will be: mac B on port Ethernet40.
In this case, the following I/O verification will fail.

Signed-off-by: Longxiang Lyu lolv@microsoft.com

How did you do it?
How did you verify/test it?
  • Loading branch information
lolyu authored Jul 26, 2023
1 parent b30a96a commit 9f2e14f
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions tests/common/fixtures/ptfhost_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -235,9 +235,9 @@ def ptf_portmap_file_module(rand_selected_dut, ptfhost, tbinfo):
def run_icmp_responder_session(duthosts, duthost, ptfhost, tbinfo):
"""Run icmp_responder on ptfhost session-wise on dualtor testbeds with active-active ports."""
# No vlan is available on non-t0 testbed, so skip this fixture
if "dualtor" not in tbinfo["topo"]["name"]:
if "dualtor-mixed" not in tbinfo["topo"]["name"] and "dualtor-aa" not in tbinfo["topo"]["name"]:
logger.info("Skip running icmp_responder at session level, "
"it is only for dualtor testbed.")
"it is only for dualtor testbed with active-active mux ports.")
yield
return

Expand Down Expand Up @@ -269,7 +269,7 @@ def run_icmp_responder_session(duthosts, duthost, ptfhost, tbinfo):

yield

logger.info("Leave icmp_responder running for dualtor/dualtor-mixed/dualtor-aa topology")
logger.info("Leave icmp_responder running for dualtor-mixed/dualtor-aa topology")
return


Expand Down

0 comments on commit 9f2e14f

Please sign in to comment.