Skip to content

Fix false traffic disruption from PF_PACKET sniffer drops#22708

Open
rajkumar1-arista wants to merge 1 commit intosonic-net:masterfrom
rajkumar1-arista:fix-false-traffic-disruption
Open

Fix false traffic disruption from PF_PACKET sniffer drops#22708
rajkumar1-arista wants to merge 1 commit intosonic-net:masterfrom
rajkumar1-arista:fix-false-traffic-disruption

Conversation

@rajkumar1-arista
Copy link
Contributor

Description of PR

Summary:
Fixes # #21043

Type of change

  • Bug fix
  • Testbed and Framework(new/improvement)
  • New Test case
    • Skipped for non-supported platforms
  • Test case improvement

Back port request

  • 202205
  • 202305
  • 202311
  • 202405
  • 202411
  • 202505
  • 202511

Approach

What is the motivation for this PR?

dualtor_io.test_normal_op#test_mux_port_switch_active_server_to_active_server and dualtor_io.test_normal_op#test_mux_port_switch_active_server_to_standby_server are failing with 1 traffic disruptions

How did you do it?

For dualtor_sniffer script, #18758 introduces single PF_PACKET socket for all interfaces, corresponding SO_RCVBUF of only 128KB is not enough. During scapy's per-packet Python processing, brief pauses cause this small buffer to overflow, silently dropping packets. The test then misinterprets missing sniffer captures as forwarding disruptions.

Increased SO_RCVBUF to 32MB to absorb processing pauses.

How did you verify/test it?

Ran the tests on dualtor-aa-56

Any platform specific information?

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

Documentation

For dualtor_sniffer script, all interfaces are sharing one PF_PACKET socket with a default SO_RCVBUF of only 128KB. During scapy's
per-packet Python processing, brief pauses cause this small buffer to overflow, silently dropping packets. The test then
misinterprets missing sniffer captures as forwarding disruptions. Increase SO_RCVBUF to 32MB to absorb processing pauses.

Signed-off-by: rajkumar1 <rajkumar1@arista.com>
@mssonicbld
Copy link
Collaborator

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants