Fix false traffic disruption from PF_PACKET sniffer drops#22708
Fix false traffic disruption from PF_PACKET sniffer drops#22708StormLiangMS merged 2 commits intosonic-net:masterfrom
Conversation
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>
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
/azpw run |
|
/AzurePipelines run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
@lolyu, @StormLiangMS can you please take a look. |
|
Check fails on bgp/test_bgp_update_replication.py test due to ------------------------------ live log teardown ------------------------------- 06/03/2026 07:53:03 memory_utilization._handle_memory_thresh L0313 ERROR | [ALARM]: docker:swss, Current memory usage 9.0% exceeds high threshold 8% (previous: 2.6%, current: 9.0%) these memory threshold failures are not due the fix in this review. |
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
…22708) 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> Signed-off-by: mssonicbld <sonicbld@microsoft.com>
|
Cherry-pick PR to 202511: #23308 |
…23308) 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> Signed-off-by: mssonicbld <sonicbld@microsoft.com> Co-authored-by: rajkumar1-arista <rajkumar1@arista.com>
Description of PR
Summary:
Fixes # #21043
Type of change
Back port request
Approach
What is the motivation for this PR?
dualtor_io.test_normal_op#test_mux_port_switch_active_server_to_active_serveranddualtor_io.test_normal_op#test_mux_port_switch_active_server_to_standby_serverare failing with 1 traffic disruptionsHow did you do it?
For dualtor_sniffer script, #18758 introduces single
PF_PACKETsocket for all interfaces, correspondingSO_RCVBUFof only128KBis 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