Skip to content

Re-add flow-table-based dst_vpcd lookup in case of prefixes overlap#1257

Draft
Fredi-raspall wants to merge 10 commits intomainfrom
pr/fredi/nat_use_cases
Draft

Re-add flow-table-based dst_vpcd lookup in case of prefixes overlap#1257
Fredi-raspall wants to merge 10 commits intomainfrom
pr/fredi/nat_use_cases

Conversation

@Fredi-raspall
Copy link
Contributor

No description provided.

@Fredi-raspall Fredi-raspall requested a review from qmonnet February 3, 2026 16:45
@Fredi-raspall Fredi-raspall changed the base branch from main to pr/fredi/failover-revisit February 3, 2026 16:46
Base automatically changed from pr/fredi/failover-revisit to main February 3, 2026 23:21
Differentiate between 2 cases when logging:
  - no flow entry is found in table for a given key
  - did not build a flow key (because of  the type of packet)

Signed-off-by: Fredi Raspall <fredi@githedgehog.com>
Add srcVpcd to FlowTuple so that it gets displayed/logged too.
The flowTuple type could be used as the single input to the
lookup function.

Signed-off-by: Fredi Raspall <fredi@githedgehog.com>
Make it such that no string needs to be created.

Signed-off-by: Fredi Raspall <fredi@githedgehog.com>
Flow-filter should be the first stage so that other stages
can use the flow-info. Up until now, the flow-filter couldn't
because it preceeded the flow-lookup stage.

Signed-off-by: Fredi Raspall <fredi@githedgehog.com>
Augment FlowInfoLocked to include a VpcDiscriminant so that we
can determine the dst VPC from a flow entry as a fallback.

Signed-off-by: Fredi Raspall <fredi@githedgehog.com>
Rename the type (NF) so that it is clear its purpose.

Signed-off-by: Fredi Raspall <fredi@githedgehog.com>
Signed-off-by: Fredi Raspall <fredi@githedgehog.com>
Signed-off-by: Fredi Raspall <fredi@githedgehog.com>
If, in the flow filter, the destination vpc (discriminant) cannot
be determined for a packet, try to discover it from the flow-info
attached to the packet. Ofc, the correctness of this depends on
whether we store a flow-entry for the corresponding flow and
what information we keep there.

Signed-off-by: Fredi Raspall <fredi@githedgehog.com>
@Fredi-raspall Fredi-raspall force-pushed the pr/fredi/nat_use_cases branch from 40c1ab1 to b738ec1 Compare February 4, 2026 09:13
Signed-off-by: Quentin Monnet <qmo@qmon.net>
Signed-off-by: Fredi Raspall <fredi@githedgehog.com>
@Fredi-raspall Fredi-raspall force-pushed the pr/fredi/nat_use_cases branch from b738ec1 to 50d68da Compare February 4, 2026 09:37
@qmonnet qmonnet changed the title Pr/fredi/nat use cases Re-add flow-table-based dst_vpcd lookup in case of prefixes overlap Feb 4, 2026
@qmonnet qmonnet added the area/nat Related to Network Address Translation (NAT) label Feb 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/nat Related to Network Address Translation (NAT)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Re-add flow-table-based differentiation for destination VPC lookup with stateful NAT and overlapping public prefixes

2 participants