Skip to content

Handle Multi-port portchannel member case in ECMP member flap TC#20125

Merged
rlhui merged 3 commits intosonic-net:masterfrom
deepak-singhal0408:deepsinghal/fix_ecmp_member_flap_tc
Aug 20, 2025
Merged

Handle Multi-port portchannel member case in ECMP member flap TC#20125
rlhui merged 3 commits intosonic-net:masterfrom
deepak-singhal0408:deepsinghal/fix_ecmp_member_flap_tc

Conversation

@deepak-singhal0408
Copy link
Contributor

Description of PR

Summary:
Fixes #17887

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

Approach

What is the motivation for this PR?

This fixes issue mentioned in #17887.
For pizza box DUTs, multi-port portchannel scenario was not handled, which caused issue on certain specific topologies.

How did you do it?

Add all members of PORT_CHANNEL (if the port being shutdown is part of PORT_CHANNEL) to the filtered ports list, so that during fib_test, these ports are not randomly picked as src port.

How did you verify/test it?

Verified on t1-lag topology. the testcase passes.
Logs:

07/08/2025 20:31:13 test_fib.test_ecmp_group_member_flap     L0864 INFO   | Shutting down one uplink port.
07/08/2025 20:31:13 test_fib.test_ecmp_group_member_flap     L0869 INFO   | Shutting down port Ethernet0
07/08/2025 20:31:31 test_fib.get_port_and_portchannel_member L0764 INFO   | Port Ethernet0 is a member of port channel PortChannel102, adding all members: ['Ethernet0', 'Ethernet8']
07/08/2025 20:31:31 test_fib.get_port_and_portchannel_member L0773 INFO   | Found PTF port 0 for port channel member Ethernet0
07/08/2025 20:31:31 test_fib.get_port_and_portchannel_member L0773 INFO   | Found PTF port 1 for port channel member Ethernet8
07/08/2025 20:31:31 test_fib.test_ecmp_group_member_flap     L0881 INFO   | Verifying ECMP behavior after member down.
["/root/env-python3/bin/ptf --test-dir ptftests/py3 fib_test.FibTest --platform-dir ptftests --qlen=20000 --platform remote -t 'fib_info_files=['\"'\"'/root/fib_info_dut_test_ecmp_group_member_flap[True-False-1514]_0.txt'\"'\"'];
ptf_test_port_map='\"'\"'/root/ptf_test_port_map.json'\"'\"';ipv4=True;ipv6=False;testbed_mtu=1514;test_balancing=True;ignore_ttl=False;single_fib_for_duts='\"'\"'multiple-fib'\"'\"';switch_type='\"'\"''\"'\"';;
skip_src_ports=[**0, 1]**' --relax --debug info --log-file /tmp/fib_test.ecmp_member_flap.member_down.ipv4.True.ipv6.False.2025-08-07-20:26:22.log --socket-recv-size 16384"], kwargs={"chdir": "/root", "module_ignore_errors": false, "module_async": false}

Any platform specific information?

NA

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

NA

Documentation

@mssonicbld
Copy link
Collaborator

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld
Copy link
Collaborator

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld
Copy link
Collaborator

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

Copy link
Contributor

@arista-nwolfe arista-nwolfe left a comment

Choose a reason for hiding this comment

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

Thanks for updating, LGTM

@deepak-singhal0408
Copy link
Contributor Author

/azpw run Azure.sonic-mgmt

@mssonicbld
Copy link
Collaborator

/AzurePipelines run Azure.sonic-mgmt

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@rlhui rlhui merged commit 4118209 into sonic-net:master Aug 20, 2025
20 checks passed
mssonicbld pushed a commit to mssonicbld/sonic-mgmt that referenced this pull request Aug 22, 2025
…ic-net#20125)

This fixes issue mentioned in sonic-net#17887.
For pizza box DUTs, multi-port portchannel scenario was not handled, which caused issue on certain specific topologies.

How did you do it?
Add all members of PORT_CHANNEL (if the port being shutdown is part of PORT_CHANNEL) to the filtered ports list, so that during fib_test, these ports are not randomly picked as src port.
@mssonicbld
Copy link
Collaborator

Cherry-pick PR to 202505: #20362

mssonicbld pushed a commit that referenced this pull request Aug 22, 2025
)

This fixes issue mentioned in #17887.
For pizza box DUTs, multi-port portchannel scenario was not handled, which caused issue on certain specific topologies.

How did you do it?
Add all members of PORT_CHANNEL (if the port being shutdown is part of PORT_CHANNEL) to the filtered ports list, so that during fib_test, these ports are not randomly picked as src port.
echuawu pushed a commit to echuawu/sonic-mgmt that referenced this pull request Aug 25, 2025
…ic-net#20125)

This fixes issue mentioned in sonic-net#17887.
For pizza box DUTs, multi-port portchannel scenario was not handled, which caused issue on certain specific topologies.

How did you do it?
Add all members of PORT_CHANNEL (if the port being shutdown is part of PORT_CHANNEL) to the filtered ports list, so that during fib_test, these ports are not randomly picked as src port.
xixuej pushed a commit to xixuej/sonic-mgmt that referenced this pull request Sep 17, 2025
…ic-net#20125)

This fixes issue mentioned in sonic-net#17887.
For pizza box DUTs, multi-port portchannel scenario was not handled, which caused issue on certain specific topologies.

How did you do it?
Add all members of PORT_CHANNEL (if the port being shutdown is part of PORT_CHANNEL) to the filtered ports list, so that during fib_test, these ports are not randomly picked as src port.
vidyac86 pushed a commit to vidyac86/sonic-mgmt that referenced this pull request Oct 23, 2025
…ic-net#20125)

This fixes issue mentioned in sonic-net#17887.
For pizza box DUTs, multi-port portchannel scenario was not handled, which caused issue on certain specific topologies.

How did you do it?
Add all members of PORT_CHANNEL (if the port being shutdown is part of PORT_CHANNEL) to the filtered ports list, so that during fib_test, these ports are not randomly picked as src port.
opcoder0 pushed a commit to opcoder0/sonic-mgmt that referenced this pull request Dec 8, 2025
…ic-net#20125)

This fixes issue mentioned in sonic-net#17887.
For pizza box DUTs, multi-port portchannel scenario was not handled, which caused issue on certain specific topologies.

How did you do it?
Add all members of PORT_CHANNEL (if the port being shutdown is part of PORT_CHANNEL) to the filtered ports list, so that during fib_test, these ports are not randomly picked as src port.

Signed-off-by: opcoder0 <110003254+opcoder0@users.noreply.github.com>
gshemesh2 pushed a commit to gshemesh2/sonic-mgmt that referenced this pull request Dec 16, 2025
…ic-net#20125)

This fixes issue mentioned in sonic-net#17887.
For pizza box DUTs, multi-port portchannel scenario was not handled, which caused issue on certain specific topologies.

How did you do it?
Add all members of PORT_CHANNEL (if the port being shutdown is part of PORT_CHANNEL) to the filtered ports list, so that during fib_test, these ports are not randomly picked as src port.

Signed-off-by: Guy Shemesh <gshemesh@nvidia.com>
AharonMalkin pushed a commit to AharonMalkin/sonic-mgmt that referenced this pull request Dec 16, 2025
…ic-net#20125)

This fixes issue mentioned in sonic-net#17887.
For pizza box DUTs, multi-port portchannel scenario was not handled, which caused issue on certain specific topologies.

How did you do it?
Add all members of PORT_CHANNEL (if the port being shutdown is part of PORT_CHANNEL) to the filtered ports list, so that during fib_test, these ports are not randomly picked as src port.

Signed-off-by: Aharon Malkin <amalkin@nvidia.com>
gshemesh2 pushed a commit to gshemesh2/sonic-mgmt that referenced this pull request Dec 21, 2025
…ic-net#20125)

This fixes issue mentioned in sonic-net#17887.
For pizza box DUTs, multi-port portchannel scenario was not handled, which caused issue on certain specific topologies.

How did you do it?
Add all members of PORT_CHANNEL (if the port being shutdown is part of PORT_CHANNEL) to the filtered ports list, so that during fib_test, these ports are not randomly picked as src port.

Signed-off-by: Guy Shemesh <gshemesh@nvidia.com>
venu-nexthop pushed a commit to venu-nexthop/sonic-mgmt that referenced this pull request Jan 13, 2026
…ic-net#20125)

This fixes issue mentioned in sonic-net#17887.
For pizza box DUTs, multi-port portchannel scenario was not handled, which caused issue on certain specific topologies.

How did you do it?
Add all members of PORT_CHANNEL (if the port being shutdown is part of PORT_CHANNEL) to the filtered ports list, so that during fib_test, these ports are not randomly picked as src port.
gshemesh2 pushed a commit to gshemesh2/sonic-mgmt that referenced this pull request Jan 26, 2026
…ic-net#20125)

This fixes issue mentioned in sonic-net#17887.
For pizza box DUTs, multi-port portchannel scenario was not handled, which caused issue on certain specific topologies.

How did you do it?
Add all members of PORT_CHANNEL (if the port being shutdown is part of PORT_CHANNEL) to the filtered ports list, so that during fib_test, these ports are not randomly picked as src port.

Signed-off-by: Guy Shemesh <gshemesh@nvidia.com>
ytzur1 pushed a commit to ytzur1/sonic-mgmt that referenced this pull request Feb 2, 2026
…ic-net#20125)

This fixes issue mentioned in sonic-net#17887.
For pizza box DUTs, multi-port portchannel scenario was not handled, which caused issue on certain specific topologies.

How did you do it?
Add all members of PORT_CHANNEL (if the port being shutdown is part of PORT_CHANNEL) to the filtered ports list, so that during fib_test, these ports are not randomly picked as src port.

Signed-off-by: Yael Tzur <ytzur@nvidia.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Bug:[test_fib.py] Function test_ecmp_group_member_flap failed from time to time

5 participants