Skip to content

ignore ingress drop caused by non-unicast noise#22871

Merged
StormLiangMS merged 1 commit intosonic-net:masterfrom
XuChen-MSFT:xuchen3/master/ignore-ingress-drop
Mar 13, 2026
Merged

ignore ingress drop caused by non-unicast noise#22871
StormLiangMS merged 1 commit intosonic-net:masterfrom
XuChen-MSFT:xuchen3/master/ignore-ingress-drop

Conversation

@XuChen-MSFT
Copy link
Copy Markdown
Contributor

@XuChen-MSFT XuChen-MSFT commented Mar 11, 2026

Description of PR

Summary:
More and more QoS tests break by environment noise: unexpected non-unicast traffic caused ingress drop counters to increase, leading to false positive test failures.

This PR adds a helper function ignore_ingress_drop_caused_by_nonunicast_noise to detect and ignore ingress drops caused by broadcast/multicast noise, preventing unnecessary test failures.

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?

Non-unicast environmental noise (broadcast/multicast traffic) causes unexpected ingress drop counter increases on DUT receive ports. This leads to false positive failures in PFC/QoS SAI tests (PFCXonTest, PFCtest, etc.), even when the DUT behavior is correct.

How did you do it?

  • Added ignore_ingress_drop_caused_by_nonunicast_noise() function that checks if ingress drop increase correlates with non-unicast packet counter increase on the same port
  • Integrated the noise detection into ingress drop assertions across PFCXonTest, PFCtest, and multi-port PFC test classes
  • Platform-aware counter margins for broadcom-dnx, cisco-8000, and marvell-teralynx

How did you verify/test it?

Verified on internal testbed via ADO PR #18719 (approved by Storm Liang and Austin Pham). The change was tested on chassis topology with Cisco-8000 platform.

Any platform specific information?

Counter margin (COUNTER_MARGIN) is applied for broadcom-dnx, cisco-8000, and marvell-teralynx platforms due to known extra IPv6 NS/RA packets from VM.

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

N/A - this is a bug fix to existing test cases.

Documentation

N/A

@mssonicbld
Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

more and more qos test break by environment noise: unexpected non-unicast
traffic caused ingress drop. This PR adds a helper function to detect and
ignore ingress drops caused by broadcast/multicast noise, preventing
unnecessary test failures.

Signed-off-by: Xu Chen <[email protected]>
@XuChen-MSFT XuChen-MSFT force-pushed the xuchen3/master/ignore-ingress-drop branch from 5aad431 to bb52178 Compare March 12, 2026 01:17
@mssonicbld
Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

Copy link
Copy Markdown
Collaborator

@StormLiangMS StormLiangMS left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@StormLiangMS StormLiangMS merged commit f507f0b into sonic-net:master Mar 13, 2026
17 checks passed
mssonicbld pushed a commit to mssonicbld/sonic-mgmt that referenced this pull request Mar 13, 2026
more and more qos test break by environment noise: unexpected non-unicast
traffic caused ingress drop. This PR adds a helper function to detect and
ignore ingress drops caused by broadcast/multicast noise, preventing
unnecessary test failures.

Signed-off-by: Xu Chen <[email protected]>
Signed-off-by: mssonicbld <[email protected]>
@mssonicbld
Copy link
Copy Markdown
Collaborator

Cherry-pick PR to 202511: #22934

mssonicbld pushed a commit that referenced this pull request Mar 13, 2026
more and more qos test break by environment noise: unexpected non-unicast
traffic caused ingress drop. This PR adds a helper function to detect and
ignore ingress drops caused by broadcast/multicast noise, preventing
unnecessary test failures.

Signed-off-by: Xu Chen <[email protected]>
Signed-off-by: mssonicbld <[email protected]>
selldinesh pushed a commit to selldinesh/sonic-mgmt that referenced this pull request Mar 16, 2026
more and more qos test break by environment noise: unexpected non-unicast
traffic caused ingress drop. This PR adds a helper function to detect and
ignore ingress drops caused by broadcast/multicast noise, preventing
unnecessary test failures.

Signed-off-by: Xu Chen <[email protected]>
Signed-off-by: selldinesh <[email protected]>
abhishek-nexthop pushed a commit to nexthop-ai/sonic-mgmt that referenced this pull request Mar 17, 2026
more and more qos test break by environment noise: unexpected non-unicast
traffic caused ingress drop. This PR adds a helper function to detect and
ignore ingress drops caused by broadcast/multicast noise, preventing
unnecessary test failures.

Signed-off-by: Xu Chen <[email protected]>
Signed-off-by: Abhishek <[email protected]>
vrajeshe pushed a commit to vrajeshe/sonic-mgmt that referenced this pull request Mar 23, 2026
more and more qos test break by environment noise: unexpected non-unicast
traffic caused ingress drop. This PR adds a helper function to detect and
ignore ingress drops caused by broadcast/multicast noise, preventing
unnecessary test failures.

Signed-off-by: Xu Chen <[email protected]>
Signed-off-by: Venkata Gouri Rajesh Etla <[email protected]>
XuChen-MSFT added a commit to XuChen-MSFT/sonic-mgmt that referenced this pull request Mar 26, 2026
Extend the ignore_ingress_drop_caused_by_nonunicast_noise() function
(introduced in PR sonic-net#22871 for PFCtest/PFCXonTest) to also cover
LossyQueueTest. Environmental broadcast/multicast traffic causes false
positive ingress drop failures in LossyQueueTest, same root cause as
the PFC tests.

Applied to both ingress drop check points in LossyQueueTest:
1. Short-of-drop phase: no ingress drop expected
2. Post-excess-traffic phase: no ingress drop expected (non-DNX)

Co-authored-by: Copilot <[email protected]>
ravaliyel pushed a commit to ravaliyel/sonic-mgmt that referenced this pull request Mar 27, 2026
more and more qos test break by environment noise: unexpected non-unicast
traffic caused ingress drop. This PR adds a helper function to detect and
ignore ingress drops caused by broadcast/multicast noise, preventing
unnecessary test failures.

Signed-off-by: Xu Chen <[email protected]>
XuChen-MSFT added a commit to XuChen-MSFT/sonic-mgmt that referenced this pull request Mar 27, 2026
PR sonic-net#22871 added noise filtering to PFCtest for "short of PFC trigger"
and "after trigger PFC" phases, but missed the "short of ingress drop"
phase (line 2474-2483). This causes false positive test failures when
environmental broadcast/multicast traffic arrives during this phase.

Observed on Arista-7260CX3-C64 (broadcom, T1) with SONiC.20251110.17:
- Phase 1 "short of PFC trigger": InDiscard Delta=1, noise filter
  correctly detected InNonUcPkt increase and IGNORED ✅
- Phase 3 "short of ingress drop": InDiscard Delta=1, but NO noise
  filter → assertion failed ❌

Fix: Apply the same ignore_ingress_drop_caused_by_nonunicast_noise()
wrapper to the "short of ingress drop" phase ingress counter check.

Co-authored-by: Copilot <[email protected]>
XuChen-MSFT added a commit to XuChen-MSFT/sonic-mgmt that referenced this pull request Mar 27, 2026
…ssyQueueTest

PR sonic-net#22871 added noise filtering but missed some ingress drop check points:

1. PFCtest "short of ingress drop" phase (was line 2474-2483):
   Observed on Arista-7260CX3-C64 (broadcom, T1) with SONiC.20251110.17.
   Phase 1 noise was correctly IGNORED, but Phase 3 had no filter.
   InDiscard Delta=1, InNonUcPkt Delta=1 — single broadcast packet.

2. LossyQueueTest 2nd ingress check (after "trigger egress drop"):
   Same testbed, same test plan. InDiscard Delta=1 at line 5106.
   Non-DNX platforms go through else branch with no noise filter.

Fix: Apply ignore_ingress_drop_caused_by_nonunicast_noise() to both
missed check points.

Co-authored-by: Copilot <[email protected]>
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.

3 participants