Skip to content

Everflow for Chassis/T2 topology#6945

Merged
abdosi merged 49 commits intosonic-net:masterfrom
abdosi:order_ecmp
Dec 20, 2022
Merged

Everflow for Chassis/T2 topology#6945
abdosi merged 49 commits intosonic-net:masterfrom
abdosi:order_ecmp

Conversation

@abdosi
Copy link
Copy Markdown
Contributor

@abdosi abdosi commented Dec 2, 2022

What I did:
Enable Eveflow test case infrastructure to work for T2/Multi-Dut topology

How I did:

This PR takes some of the changes from the PR: #6958 and build on top of it.
Here is the summary of the infrastructure changes:

  • Concept of everflow_dut and remote_dut per everflow monitor port direction. Everflow Dut represents entity where given flow will ingress and get mirrored out. Remote Dut represents entity where the Mirror session IP is directly reachable via static route
  • setup_info has concept of upstream dut and downstream dut which will be same for Single Dut Scenario and 2 different for chassis use case. This two dut will be mapped as everflow_dut and remote_dut
  • Added ingress_router_mac and egress_router_mac per everflow monitor port direction. This is needed as each ASIC,LC in case of chassis-packet can have differeent router-mac
  • TTL check is enhanced to match exact value in mirror packet. For T2 exp TTL is Configured TTL -1 , For Multi-asic T1 it is Configured TTL - 2 and for rest it will be Configured TTL
  • All the 3 test cases enhanced to use setup_info fixture.
  • Made sure topology has min of 2 Peer Neighbors in given namespace for test case execution
  • Removed code for parsing of command show mirror_session for getting monitor port. Monitor port will always from come from setup_info
  • Source Port is randomize in given namespace to get different entropy across multiple run of the test case.

How I verify:
Manually Verified on both T0, T1 topology and T2 (chassis-packet) topology

abdosi added 30 commits February 5, 2021 17:00
Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
Nethop-Group/ECMP

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
releases. Current logic is for v4 TCP flow.  v6 TCP flow will be added
later.

Also fixed LGTM

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
present in IPv6 header

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
@abdosi
Copy link
Copy Markdown
Contributor Author

abdosi commented Dec 12, 2022

@sanmalho-git please take this PR and have another PR on top of it for VOQ Chassis. With this PR Everflow is passing for non-VOQ Chassis/T2 topology.
cc @judyjoseph

@abdosi
Copy link
Copy Markdown
Contributor Author

abdosi commented Dec 12, 2022

@vperumal Please start using this PR.

@abdosi abdosi changed the title Everflow for Chassis Everflow for Chassis/T2 topology Dec 12, 2022
Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
@abdosi
Copy link
Copy Markdown
Contributor Author

abdosi commented Dec 14, 2022

@bingwang-ms please help review this. Let me know if you have any questions. As this PR has lot of changes so it will be great if we can review/approve soon to avoid merge conflict.

test_mirror_v4 = switch_capabilities["MIRROR"] == "true"
test_mirror_v6 = switch_capabilities["MIRRORV6"] == "true"
test_mirror_v4 = upstream_switch_capabilities["MIRROR"] == "true" and downstream_switch_capabilities["MIRROR"] == "true"
test_mirror_v6 = upstream_switch_capabilities["MIRRORV6"] == "true" and downstream_switch_capabilities["MIRRORV6"] == "true"
Copy link
Copy Markdown
Collaborator

@bingwang-ms bingwang-ms Dec 15, 2022

Choose a reason for hiding this comment

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

Can you please clarify why do we care about the upstream and downstream switch capabilities? For T0 device, what's the downstream_switch_capabilities["MIRROR"] ?

Copy link
Copy Markdown
Contributor Author

@abdosi abdosi Dec 16, 2022

Choose a reason for hiding this comment

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

for T0 upStream and downStream Dut are same so both point to same capabilities. This is just to keep code geneic and not have if..else

@bingwang-ms
Copy link
Copy Markdown
Collaborator

bingwang-ms commented Dec 15, 2022

Please also verify this change in T0 and T1 testbed. Thanks

@bingwang-ms Have verified on both T0 and T1 testbed also.

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
@abdosi
Copy link
Copy Markdown
Contributor Author

abdosi commented Dec 16, 2022

@bingwang-ms Have address all of your comments. please check.

@abdosi
Copy link
Copy Markdown
Contributor Author

abdosi commented Dec 16, 2022

@bingwang-ms can you please check and approve

@bingwang-ms
Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@abdosi abdosi merged commit 8eb4824 into sonic-net:master Dec 20, 2022
@abdosi abdosi deleted the order_ecmp branch December 20, 2022 16:52
abdosi added a commit that referenced this pull request Dec 21, 2022
Enhance test_default_route.py for chassis.

How I did:

Concept of selecting upstream duthost and verify test case on that
Depends on this PR Everflow for Chassis/T2 topology #6945 for common utility function.
Some of Core Router even though T3 we might not expect Default Route based on Device Type.
wangxin pushed a commit that referenced this pull request Dec 26, 2022
Enable Everflow test case infrastructure to work for T2/Multi-Dut topology
wangxin pushed a commit that referenced this pull request Dec 26, 2022
Enhance test_default_route.py for chassis.

How I did:

Concept of selecting upstream duthost and verify test case on that
Depends on this PR Everflow for Chassis/T2 topology #6945 for common utility function.
Some of Core Router even though T3 we might not expect Default Route based on Device Type.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

4 participants