Skip to content

[action] [PR:9117] [dualtor] Disable running icmp_responder at session-level#9120

Merged
mssonicbld merged 1 commit intosonic-net:202205from
mssonicbld:cherry/202205/9117
Jul 26, 2023
Merged

[action] [PR:9117] [dualtor] Disable running icmp_responder at session-level#9120
mssonicbld merged 1 commit intosonic-net:202205from
mssonicbld:cherry/202205/9117

Conversation

@mssonicbld
Copy link
Copy Markdown
Collaborator

Description of PR

Summary:
Fixes # (issue)

Type of change

  • Bug fix
  • Testbed and Framework(new/improvement)
  • Test case(new/improvement)

Back port request

  • 201911
  • 202012
  • 202205

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?

Any platform specific information?

Supported testbed topology if it's a new test case?

Documentation

…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?
@mssonicbld
Copy link
Copy Markdown
Collaborator Author

Original PR: #9117

@mssonicbld mssonicbld merged commit fc274a6 into sonic-net:202205 Jul 26, 2023
@mssonicbld mssonicbld deleted the cherry/202205/9117 branch February 4, 2024 08:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants