Skip to content

Commit 5681e66

Browse files
committed
systemvm: allow related and established routed traffic
Source local main commit: - 166bb4304f systemvm: allow related and established routed traffic Source Apache commits: - 1fc4cb9 Routed VR: accept packets from related and established connections (apache#12986) Change summary: - add an nftables ct state established,related accept rule when creating forward chains in CsNetfilter - leave the existing input/output ICMP allowance behavior unchanged - record Record 044 sync notes in the history document Functional impact: - prevents routed VR forward chains from dropping reply traffic that belongs to already established or related connections - improves flow continuity for routed guest traffic without widening new-connection exposure Validation: - cherry-pick from main applied cleanly on ablestack-europa with no additional manual conflict resolution - runtime/systemvm test execution has not been run yet in this environment by request
1 parent 7ad9fbc commit 5681e66

2 files changed

Lines changed: 25 additions & 0 deletions

File tree

developer/history/apache-main-sync-2026-04-17.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1153,6 +1153,29 @@
11531153
- Resolution notes:
11541154
- `N/A`
11551155

1156+
### Record 044 - allow established and related traffic in routed VR forward chain
1157+
1158+
- Local branch: `main`
1159+
- Local commit: `166bb4304f`
1160+
- Source Apache commits:
1161+
- `1fc4cb90bf` Routed VR: accept packets from related and established connections (#12986)
1162+
- Summary:
1163+
- Add an nftables `ct state established,related accept` rule when creating `forward` chains in `CsNetfilter`
1164+
- Leave the existing input/output ICMP allowance behavior unchanged
1165+
- Functional impact:
1166+
- Prevents routed VR forward chains from dropping reply traffic that belongs to already established or related connections
1167+
- Improves flow continuity for routed guest traffic without widening new-connection exposure
1168+
- Validation:
1169+
- Apache cherry-pick applied cleanly on `main` with no manual conflict resolution
1170+
- Cached diff is limited to a 2-line `CsNetfilter.py` change in the `forward` hook path
1171+
- Runtime/systemvm test execution has not been run yet in this environment by request
1172+
- Europa cherry-pick status:
1173+
- `Applied cleanly on ablestack-europa; local commit pending creation`
1174+
- Conflict notes:
1175+
- `None observed on main`
1176+
- Resolution notes:
1177+
- `N/A`
1178+
11561179
### Observed Already Satisfied
11571180

11581181
- `8608b4edd0` `Fix snapshot copy resource limit concurrency`

systemvm/debian/opt/cloud/bin/cs/CsNetfilter.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -244,6 +244,8 @@ def add_ip4_chain(self, address_family, table, chain, hook, action):
244244
CsHelper.execute("nft add chain %s %s %s '{ %s }'" % (address_family, table, chain, chain_policy))
245245
if hook == "input" or hook == "output":
246246
CsHelper.execute("nft add rule %s %s %s icmp type { echo-request, echo-reply } accept" % (address_family, table, chain))
247+
elif hook == "forward":
248+
CsHelper.execute("nft add rule %s %s %s ct state established,related accept" % (address_family, table, chain))
247249

248250
def apply_nft_ipv4_rules(self, rules, type):
249251
if len(rules) == 0:

0 commit comments

Comments
 (0)