Skip to content

test(edge): Enforce traffic policy on pod VPC attachment links - #951

Merged
privateip merged 1 commit into
feat/edge-attachment-datapathfrom
feat/edge-attachment-policy
Oct 22, 2026
Merged

privateip merged 1 commit into
feat/edge-attachment-datapathfrom
feat/edge-attachment-policy

Conversation

@privateip

@privateip privateip commented Oct 20, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Attachment links must not bypass interface traffic policy.

This test gives each attachment link the same policy row, token, delivery filter and per-direction snapshots an ordinary workload interface gets, with the node enforcing. No production code changes.

Stack, bottom first:

  1. feat(edge): Attach socket and packet consumer pods to a VPC from the host #949 provisions host-owned attachments
  2. feat(edge): Carry pod VPC attachments through the SRv6 datapath #950 carries them through the SRv6 datapath and sets their MTU
  3. test(edge): Enforce traffic policy on pod VPC attachment links #951 (this PR) enforces traffic policy on their links
  4. test(edge): Check pod VPC attachments on a real node #952 checks them on a real node

Test plan

  • An attachment with no policy bound denies everything and counts it as policy unavailable
  • Changing either direction's policy takes effect on the next connection, for socket and TUN consumers

Related to #944

🤖 Generated with Claude Code

MASQUE epic tracking

Contributes to #979. These are partial contributions; this PR does not close those issues.

Foundation epic tracking

Contributes to #999. These are partial contributions; this PR does not close those issues.

@privateip

Copy link
Copy Markdown
Collaborator Author

Validation for this stack is on #949.

@privateip
privateip force-pushed the feat/edge-attachment-policy branch from 5afb9c4 to 1c11628 Compare October 20, 2026 18:46
@privateip privateip changed the title test: Enforce traffic policy on host-owned attachment links test(edge): Enforce traffic policy on pod VPC attachment links Oct 20, 2026
@privateip
privateip force-pushed the feat/edge-attachment-policy branch from 1c11628 to 9bc772f Compare October 20, 2026 19:06
@privateip
privateip force-pushed the feat/edge-attachment-policy branch from 9bc772f to b382354 Compare October 20, 2026 19:34
@privateip
privateip marked this pull request as ready for review October 22, 2026 02:34
@privateip
privateip requested a review from a team as a code owner October 22, 2026 02:34
@privateip
privateip added this pull request to stack #987 October 22, 2026 02:37
ecv
ecv previously approved these changes Oct 22, 2026

@ecv ecv left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving. Test-only, and it runs in the root CI job on the fixture's private maps. Its denial cases are paired with positives before and after. A VPC B case and an ICMP deny-counter assertion are in #989.

Host-owned attachment links must not bypass interface traffic policy. This test gives each attachment's host link exactly what galactic-bgp and galactic-router give an ordinary workload interface: a tp_iface_table row with its own policy token, tp_deliver on the host link, and a compiled snapshot bound per direction, with the node in enforce mode.

It checks that an attachment with no binding denies remote traffic and counts it as policy_unavailable; that a bound policy admits a VRF-bound socket's inbound connections and replies; that changing either direction's policy to deny takes effect on the next connection and changing it back restores service; and that a TUN consumer's echo requests and replies are decided separately per direction.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@privateip
privateip force-pushed the feat/edge-attachment-policy branch from b382354 to 9f8ad89 Compare October 22, 2026 03:02
@privateip
privateip requested a review from ecv October 22, 2026 03:03

@ecv ecv left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-approving after the rewrite onto #949's fixes. I found no regression. The test follow-ups in #989 are still open.

@privateip
privateip merged commit bcfec2d into main Oct 22, 2026
17 checks passed
@privateip
privateip deleted the feat/edge-attachment-policy branch October 22, 2026 03:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants