Skip to content

[action] [PR:20125] Handle Multi-port portchannel member case in ECMP member flap TC#20362

Merged
mssonicbld merged 1 commit intosonic-net:202505from
mssonicbld:cherry/202505/20125
Aug 22, 2025
Merged

[action] [PR:20125] Handle Multi-port portchannel member case in ECMP member flap TC#20362
mssonicbld merged 1 commit intosonic-net:202505from
mssonicbld:cherry/202505/20125

Conversation

@mssonicbld
Copy link
Collaborator

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

…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 Author

Original PR: #20125

@mssonicbld
Copy link
Collaborator Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld mssonicbld merged commit b49b78d into sonic-net:202505 Aug 22, 2025
12 checks passed
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