Skip to content

[multicast] M2P forwarding, OPTE port subscription, and sled-agent propagation#10070

Open
zeeshanlakhani wants to merge 1 commit intomulticast-e2efrom
zl/multicast-m2p-forwarding
Open

[multicast] M2P forwarding, OPTE port subscription, and sled-agent propagation#10070
zeeshanlakhani wants to merge 1 commit intomulticast-e2efrom
zl/multicast-m2p-forwarding

Conversation

@zeeshanlakhani
Copy link
Collaborator

Complete the multicast data path by adding per-sled M2P (multicast-to- physical) mapping, forwarding entry management, and OPTE port subscription for multicast group members.

Sled-agent:

  • Add multicast_subscribe / multicast_unsubscribe endpoints (API v29) that configure M2P, forwarding, and OPTE port subscription for a VMM
  • OPTE port_manager gains set/clear operations for M2P and forwarding
  • Port subscription cleanup on PortTicket release

Nexus:

  • New sled.rs (MulticastSledClient) encapsulating all sled-agent multicast interactions: subscribe/unsubscribe, M2P/forwarding propagation and teardown
  • Groups RPW propagates M2P and forwarding entries to all member sleds after DPD configuration, with convergent retry on failure
  • Members RPW uses MemberReconcileCtx to thread shared reconciliation state. This handles subscribe on join, unsubscribe on leave, and re-subscribe on migration
  • Dataplane client updated for bifurcated replication groups

Tests:

  • Integration tests for M2P/forwarding/subscribe lifecycle
  • Instance migration multicast re-convergence

@zeeshanlakhani zeeshanlakhani force-pushed the zl/multicast-m2p-forwarding branch 3 times, most recently from 8141a04 to 3efe7fa Compare March 17, 2026 05:20
…opagation

Complete the multicast data path by adding per-sled M2P (multicast-to-
physical) mapping, forwarding entry management, and OPTE port subscription
for multicast group members.

Sled-agent:
- Add `multicast_subscribe` / `multicast_unsubscribe` endpoints (API v29)
  that configure M2P, forwarding, and OPTE port subscription for a VMM
- OPTE port_manager gains set/clear operations for M2P and forwarding
- Port subscription cleanup on PortTicket release

Nexus:
- New `sled.rs` (MulticastSledClient) encapsulating all sled-agent
  multicast interactions: subscribe/unsubscribe, M2P/forwarding
  propagation and teardown
- Groups RPW propagates M2P and forwarding entries to all member sleds
  after DPD configuration, with convergent retry on failure
- Members RPW uses MemberReconcileCtx to thread shared reconciliation
  state. This handles subscribe on join, unsubscribe on leave, and
  re-subscribe on migration
- Dataplane client updated for bifurcated replication groups

Tests:
- Integration tests for M2P/forwarding/subscribe lifecycle
- Instance migration multicast re-convergence
@zeeshanlakhani zeeshanlakhani force-pushed the zl/multicast-m2p-forwarding branch from 3efe7fa to 98e9742 Compare March 17, 2026 05:42
@zeeshanlakhani
Copy link
Collaborator Author

zeeshanlakhani commented Mar 17, 2026

Note: Both helios/deploy check-opte-ver/check-opte-ver in CI will fail for now. After R19 ships and OPTE PR #924 merges, we can switch from branch = "zl/filter-mcast-srcs" to rev = "<merged-sha>" and bump tools/opte_version + deploy.sh target to 0.40.

@zeeshanlakhani zeeshanlakhani marked this pull request as ready for review March 17, 2026 09:02
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.

1 participant