Add support for port forwarding #1262
Merged
DCO-2 / DCO
succeeded
Mar 2, 2026 in 1s
Check passed!
All commits are signed off, the check passed.
Summary
| Sha | Message | Pass or fail reason | |
|---|---|---|---|
| 🟢 | 07a591a | feat(net): add port-forwarding metadata flag | Valid sign-off found |
| 🟢 | 2c06202 | feat(flow-filter): extend NatRequirement | Valid sign-off found |
| 🟢 | 73dd15c | feat(stateful-nat): simplify nat_packet() args | Valid sign-off found |
| 🟢 | 9107ae0 | feat(net): impl Display for NextHeader | Valid sign-off found |
| 🟢 | 4541024 | feat(flow-info): extend FlowInfoLocked | Valid sign-off found |
| 🟢 | ff16b2e | feat(flow-entry): impl methods for [Tcp | Udp]ProtoK... |
| 🟢 | 771ea0c | feat(port-forwarding): add port-forwarding nat sub... | Valid sign-off found |
| 🟢 | 8e88b64 | feat(port-forwarding): add table and objects | Valid sign-off found |
| 🟢 | c4f1f26 | feat(port-forwarding): impl Display for tables | Valid sign-off found |
| 🟢 | 053a35a | feat(port-forwarding): add tests portfw table | Valid sign-off found |
| 🟢 | e2b4828 | feat(port-forwarding): use UnicastIpAddr instead o... | Valid sign-off found |
| 🟢 | c783f6d | feat(port-forwarding): define PortFwState | Valid sign-off found |
| 🟢 | 12db9c4 | feat(port-forwarding): add port-forwarding packet ... | Valid sign-off found |
| 🟢 | fe493a4 | feat(flow-entry,flow-info): change update_status() | Valid sign-off found |
| 🟢 | 0da67ec | feat(port-forwarding): add functions to deal with ... | Valid sign-off found |
| 🟢 | 888af74 | feat(port-forwarding): add NF for port-forwarding | Valid sign-off found |
| 🟢 | 21367cd | feat(datplane): add port-forwarding stage | Valid sign-off found |
| 🟢 | e13ebfb | feat(net): use Udp::empty() in tests | Valid sign-off found |
| 🟢 | 8fe9103 | feat(port-forwarding): add minimal test | Valid sign-off found |
| 🟢 | 2d6217e | feat(flow-info): impl Display for FlowInfoLocked | Valid sign-off found |
| 🟢 | a4e9d22 | feat(flow-entry): allow stripping vpcd from flow k... | Valid sign-off found |
| 🟢 | 7329069 | feat(port-forwarding): omit dst vpcd in flow keys | Valid sign-off found |
| 🟢 | c59dc81 | feat(port-forwarding): add state for forward path | Valid sign-off found |
| 🟢 | 3792b6b | feat(flow-entry): remove bidirectional flow keys | Valid sign-off found |
| 🟢 | 36ed06f | feat(flow-entry): remove trait SrcLeqDst | Valid sign-off found |
| 🟢 | f4ccc90 | feat(test-utils): add tcp packet builder | Valid sign-off found |
| 🟢 | fa54ce4 | feat(flow-entry): fix Display FlowTable | Valid sign-off found |
| 🟢 | 11006a0 | feat(port-forwarding): add timeouts to rules | Valid sign-off found |
| 🟢 | 9becdd3 | feat(port-forwarding): keep key in PortFwEntry | Valid sign-off found |
| 🟢 | ec596b4 | feat(port-forwarding): let state refer to rules | Valid sign-off found |
| 🟢 | 56a886d | feat(port-forwarding): early-expire flow entries | Valid sign-off found |
| 🟢 | 9cd67ae | feat(port-forwarding): adapt Display impls | Valid sign-off found |
| 🟢 | 817aedd | feat(port-forwarding): no state without TCP syn | Valid sign-off found |
| 🟢 | d277f7b | feat(port-forwarding): add status enum to state | Valid sign-off found |
| 🟢 | 15db806 | feat(port-forwarding): set flow status and refresh | Valid sign-off found |
| 🟢 | adda01a | feat(port-forwarding): cleanup | Valid sign-off found |
| 🟢 | bdcfd14 | feat(port-forwarding): add test | Valid sign-off found |
| 🟢 | 99af354 | feat(port-forwarding): reorg source code | Valid sign-off found |
| 🟢 | cad607c | feat(port-forwarding): simplify PortFwTable api | Valid sign-off found |
| 🟢 | 610c413 | feat(port-forwarding): change port forwarding tabl... | Valid sign-off found |
| 🟢 | fde2ec6 | feat(port-forwarding): keep timers as AtomicU64 | Valid sign-off found |
| 🟢 | de3293a | feat(port-forwarding): move PortFwTableError | Valid sign-off found |
| 🟢 | 6319ed2 | feat(port-forwarding): add portrange submodule | Valid sign-off found |
| 🟢 | 738572d | feat(port-forwarding): require Arc in methods | Valid sign-off found |
| 🟢 | 5a478e0 | feat(port-forwarding): implement left-right access | Valid sign-off found |
| 🟢 | bd2633e | feat(port-forwarding): misc. cleanup | Valid sign-off found |
| 🟢 | 8cd68ff | feat(port-fowarding): replace accessor | Valid sign-off found |
| 🟢 | a261ae6 | feat(dataplane,mgmt): propagate writer port forwar... | Valid sign-off found |
| 🟢 | ec5db07 | feat(config,nat,mgmt): scaffold port-forwarding co... | Valid sign-off found |
| 🟢 | 11bf27e | feat(port-forwarding): implement port ranges | Valid sign-off found |
| 🟢 | 5f6572b | feat(port-forwarding): add methods PortRange | Valid sign-off found |
| 🟢 | 162d708 | feat(net): add utils to get/set transport ports | Valid sign-off found |
| 🟢 | 8b610f3 | feat(flow-emtry): make FlowTable::len() available | Valid sign-off found |
| 🟢 | 9ae1386 | feat(port-forwarding): build flows in pairs | Valid sign-off found |
| 🟢 | a341e1f | feat(port-forwarding): add tests | Valid sign-off found |
| 🟢 | 8f39c3a | feat(port-forwarding): require metadata to port-fo... | Valid sign-off found |
| 🟢 | 3890d23 | feat(flow-entry,flow-info): revisit flow status | Valid sign-off found |
| 🟢 | 14710b4 | feat(port-forwarding): flow invalidation | Valid sign-off found |
| 🟢 | eff8ecb | feat(lpm): add convenience Prefix methods | Valid sign-off found |
| 🟢 | 83b4fd2 | feat(lpm): add fallible converters | Valid sign-off found |
| 🟢 | b9d20d5 | feat(port-forwarding): add support for prefix rule... | Valid sign-off found |
| 🟢 | 77f2a1c | feat(flow-entry,dependencies): remove dst vpcd fro... | Valid sign-off found |
| 🟢 | 0a0fbd6 | feat(port-forwarding): rename fields for clarity | Valid sign-off found |
| 🟢 | b62befb | feat(dataplane): add tracing targets for Vxlan | Valid sign-off found |
| 🟢 | 88d837a | feat(flow-entry): use Display in logs instead of D... | Valid sign-off found |
| 🟢 | 2dfcb67 | feat(net): fix Display of TCP flags | Valid sign-off found |
| 🟢 | b16366a | feat(net): add method to reset packet metadata | Valid sign-off found |
| 🟢 | 6fefef0 | feat(port-forwarding): add tcp rst builder | Valid sign-off found |
| 🟢 | 0cd26a0 | feat(lpm): add IpPrefixTrie get(), iter() and iter... | Valid sign-off found |
| 🟢 | 1b6f45e | feat(port-forwarding): add range sets and PrefixMa... | Valid sign-off found |
| 🟢 | 182ebb8 | feat(port-forwarding): add lpm map | Valid sign-off found |
| 🟢 | 780e56b | feat(port-forwarding): add port-forwarder object | Valid sign-off found |
| 🟢 | 9c89452 | feat(port-forwarding): use the PortForwarder | Valid sign-off found |
| 🟢 | 37a3c5c | feat(port-forwarding): logging improvements | Valid sign-off found |
| 🟢 | 34b1949 | feat(port-forwarding): move PortFwFlowStatus | Valid sign-off found |
| 🟢 | 123767b | feat(port-forwarding): fix dst vpcd in flow | Valid sign-off found |
| 🟢 | f6a0d21 | feat(port-forwarding): refine the TCP state machin... | Valid sign-off found |
| 🟢 | 6088429 | feat(port-forwarding): invalidate TCP flows if clo... | Valid sign-off found |
| 🟢 | 0eab971 | feat(port-forwarding): set default timeouts dep on... | Valid sign-off found |
| 🟢 | 6497a7c | feat(flow-entry): aggressively reap cancelled flow... | Valid sign-off found |
Loading