[action] [PR:11170] [Fdb/test_fdb]: Fixed fdb test case failure due to incomplete mac lea…#11345
Merged
mssonicbld merged 1 commit intosonic-net:202205from Jan 19, 2024
Merged
Conversation
…rning on all memebers of portchannel (sonic-net#11170) What is the motivation for this PR? FDB test case test_fdb failed intermittantly due to incomplete mac learning on the fanout. During the test runtime, the test sends a series of packets so that the correct mac's are learnt on the interfaces and PortChannels being tested. However, for the port channels, MAC's are learnt only on the first member of the PortChannel and not all members of the PortChannel. Therefore, while testing if forwarding is correctly happening through the PortChannel, if a test packet is forwarded through the second member of the portchannel, then the testcase fails since the fanout does not know where to forward the incoming packet. The testcase however passes if the packet is forwarded through the first member of the PortChannel. How did you do it? The change in the PR involves including the mac learning to happen across all the members of the PortChannel. Once mac learning is enabled on all members of the PortChannel, then the testcase passes and doesnt fail intermittently. How did you verify/test it? Ran a script to run the test continuously and checked that it passes.
7 tasks
Collaborator
Author
|
Original PR: #11170 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
…rning on all members of portchannel
Description of PR
The "test_fdb" case encounters intermittent failures due to incomplete MAC learning on the fanout. During the test, packets are sent to facilitate MAC address learning on interfaces and PortChannels. However, MACs are only learned on the first PortChannel member, causing the test to fail when forwarding packets through the second member. The fanout lacks the necessary information to correctly forward incoming packets in this scenario. The test case succeeds when packets are routed through the first PortChannel member. This PR addresses this issue by enabling MAC learning on all the members of the PortChannel.
Summary:
Fixes # (issue)
Type of change
Back port request
Approach
What is the motivation for this PR?
FDB test case test_fdb failed intermittantly due to incomplete mac learning on the fanout. During the test runtime, the test sends a series of packets so that the correct mac's are learnt on the interfaces and PortChannels being tested. However, for the port channels, MAC's are learnt only on the first member of the PortChannel and not all members of the PortChannel. Therefore, while testing if forwarding is correctly happening through the PortChannel, if a test packet is forwarded through the second member of the portchannel, then the testcase fails since the fanout does not know where to forward the incoming packet. The testcase however passes if the packet is forwarded through the first member of the PortChannel.
How did you do it?
The change in the PR involves including the mac learning to happen across all the members of the PortChannel. Once mac learning is enabled on all members of the PortChannel, then the testcase passes and doesnt fail intermittently.
How did you verify/test it?
Ran a script to run the test continuously and checked that it passes.
Any platform specific information?
N/A
Supported testbed topology if it's a new test case?
N/A