-
Notifications
You must be signed in to change notification settings - Fork 7
fix underlay forwarding #1209
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
fix underlay forwarding #1209
Conversation
qmonnet
left a comment
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.
Nice, I like the last commit in particular.
fec1bbe to
acab819
Compare
Thanks 😍 . I've added two clean-up commits. They are no too related (I can make another PR if needed), which, if approved, should be merged soon to avoid conflicts. |
acab819 to
586290f
Compare
qmonnet
left a comment
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.
Looks good. I've got mixed feelings about the crate renaming, flow-entry makes sense to me but I fear there will be confusion between flow-entry and flow-info. But I suppose we can always rename again in the future if it's too confusing. It will be nice indeed to have the two closer to each other in the list.
Cargo.toml
Outdated
| net = { path = "./net", package = "dataplane-net", features = [] } | ||
| pipeline = { path = "./pipeline", package = "dataplane-pipeline", features = [] } | ||
| pkt-meta = { path = "./pkt-meta", package = "dataplane-pkt-meta", features = [] } | ||
| flow-entry = { path = "./flow-entry", package = "dataplane-flow-entry", features = [] } |
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.
Nit: Move up in the list, to keep them sorted
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.
fixed
|
CI complains about a few remaining includes referring to |
586290f to
d6a0271
Compare
Yup, just saw it. Fixing ... |
d6a0271 to
d852316
Compare
Agreed, I wonder if we should merge them. We could also rename flow-entry to flow-table. |
I thought about it, but ask @mvachhar first, I think he had a reason for keeping them split at the time.
|
2ee5a19 to
f35885f
Compare
Yeah, although it has a submodule called flow-table. If nothing else needs to go in that crate I'd remove the submodule and call it flow-table. Let's see what @mvachhar thinks about it. Probably the reason not to include the flow-info was to avoid some circular dependency? |
f35885f to
35e105c
Compare
Add a flag "is_overlay" to the packet metadata flags to indicate that the packet is an overlay one; i.e. a packet that has been decapsulated. Signed-off-by: Fredi Raspall <fredi@githedgehog.com>
Fix a misleading log in ip forward regarding the vrf to use, that referred to older logic. Also, move the vrf check inside the process() method so that the overal logic is clearer and take into account if packet is from the overlay when failing. Signed-off-by: Fredi Raspall <fredi@githedgehog.com>
The flow-filter should only act on overlay packets. Skip processing packets that are 'done' or not overlay. Signed-off-by: Fredi Raspall <fredi@githedgehog.com>
We only need (atm) flow entry lookups for overlay packets. Let the stage to create / lookup flow entries ignore done packets or packets that are not in the overlay. Signed-off-by: Fredi Raspall <fredi@githedgehog.com>
Given that we annotate overlay packets as such and that all of those packets may be subjected to NAT, there some semantic overlap between flags "is_underlay" and "nat". We can't remove the nat flag as it is currently used to prevent statefully NATing a packet that has been statelessly NATed. So, repurpose the flag to indicate that a packet has been NATed, which helps in diagnostics (packet dumps) and preventing double NATs that are currently not supported. Signed-off-by: Fredi Raspall <fredi@githedgehog.com>
Signed-off-by: Fredi Raspall <fredi@githedgehog.com>
Signed-off-by: Fredi Raspall <fredi@githedgehog.com>
Rename pkt-meta crate (which is a bit confusing) to flow-entry (closer to the purpose). The rename also keeps it closer to related crates in the IDE ;-) Signed-off-by: Fredi Raspall <fredi@githedgehog.com>
Signed-off-by: Fredi Raspall <fredi@githedgehog.com>
The BGP instance in the default VRF should be configured with as-path relax in order to allow multipath, given the eBGP configuration in fabric. The BGP config for the default VRF should come from user and be configurable. Since, with the removal of the gRPC, that degree of configurability was lost, enable it by default for the time being until we can configure it. Signed-off-by: Fredi Raspall <fredi@githedgehog.com>
35e105c to
7b6ad38
Compare
This goes on top of #1198 although it is not too related.However, I needed to add it there to be able to test the latest changes around defaults.Fixes #1210