-
Notifications
You must be signed in to change notification settings - Fork 148
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TUN-1.3 Interface based IPv4 GRE Encapsulation #2005
base: main
Are you sure you want to change the base?
Conversation
Pull Request Functional Test Report for #2005 / 6b2125eVirtual Devices
Hardware Devices
|
Pull Request Test Coverage Report for Build 9555195923Details
💛 - Coveralls |
Updated SetPrefix with uint32
@@ -0,0 +1,482 @@ | |||
// Copyright 2023 Google LLC |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Change 2023 to 2024
t.Logf("Flow: %s received packets: %d !", flowName, rxPackets) | ||
lostPackets := txPackets - rxPackets | ||
t.Logf("Flow: %s lost packets: %d !", flowName, lostPackets) | ||
lossPct := lostPackets * 100 / txPackets |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Replace lossPct with got and set want := 100.0
initialTunnelOutPkts := make([]uint64, tunnelCount) | ||
tunnelLoadblanceDiff := tunnelCount * 3 | ||
interfaceLoadblanceDiff := tolerance | ||
t.Run("Configure dut with 32 tunnel interface with one ingress and 2 egress interface", func(t *testing.T) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
t.Run() will create sub-testcase. There should be no dependency requirement between sub-testcases as you can run any sub-testcase independently. But, your sub-testcases are required to run one by one in fixed order.
f1v4.Src().Increment().SetStart(peer.IPv4).SetCount(200) | ||
// V4 destination | ||
f1v4.Dst().Increment().SetStart(encapInnerDesIpv4Network).SetCount(200) | ||
// Add L4 protocol |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please remove all comments as traffic flow APIs are self-explanatory and commonly used.
addr := net.ParseIP(address) | ||
var network net.IP | ||
|
||
// This mask corresponds to a /24 subnet for IPv4. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
mask is a variable here. /24 is one case. Another call passes 19 as mask value
|
||
networkWithMask := network.String() + "/" + strconv.Itoa(mask) | ||
networkAlone := network.String() | ||
//t.Logf("Network address : %s", networkWithMask) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove it if not needed.
hardware_model: "PTX10001-36MR" | ||
hardware_model: "cptx" | ||
} | ||
deviations: { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please mention the bug ID here for new deviations.
We need bugs to track new deviations.
t.Logf("Push the CLI config:\n%s", config) | ||
|
||
default: | ||
t.Errorf("Invalid Tunnel endpoint configuration") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Make error msg more specific. Something like:
Tunnel endpoint configuration is not defined for dut.Vendor().
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please address all the comments in the next PR.
- Tunnel source should be able to configure with unnumbered interface address | ||
- Tunnel Destination | ||
- Directly on Tunnel interface or Tunnel Group | ||
- Configure such 32 tunnel interfaces |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you please update this to 2k tunnel endpoints to match w/ the HLD requirements?
Please fix README |
Also kindly update the brach |
TUN-1.3 Interface based IPv4 GRE Encapsulation
Validate the GRE configuration
Configure GRE Tunnel interfaces configuration options - Tunnel source, Tunnel Destination on Tunnel interface
Configure static route with IPv4 NH pointing to Tunnel interfaces
Validate the applied config did not report any errors
Enable the packet capture on ATE ingress port to verify the GRE header of uncapped traffic
Verify the tunnel interfaces counters to confirm the traffic encapsulation
After encapsulation, traffic should be load balanced/hash to all available L3 ECMP or LAG or combination of both features
This resolves 1600