You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[multicast, refactor]: add ddm-peers omdb view, shift member writes to mg-lower
Under RFD 488 (incoming changes), and akin to unicast tunnel routes, mg-lower
and ddmd derive underlay members directly from DDM peer subscriptions, so Nexus
no longer resolves live sled-to-switch-port from inventory or DDM peers. The DDM
client, instead, becomes a read-only peer view, and the reconciler's
member->"Joined" path is a pure DB CAS plus best-effort sled-agent propagation,
decoupled from MGS, the switch zone, and DPD member updates.
Includes:
- Adds the `omdb nexus multicast ddm-peers` view backed by the read-only DDM
client, with a new internal-dns resolver helper (`lookup_all_socket_v6_by_target`)
so per-switch clients correlate sockets back to their SRV targets
- Adds reconciler config knobs to `MulticastGroupReconcilerConfig`:
`group_concurrency_limit`, `member_concurrency_limit`, and `orphan_grace_secs`
(grace before an orphaned empty "Creating" group is reaped), wired through the
example, SMF, and test configs
- Shifts underlay member writes to mg-lower, trimming the reconciler's
member state machine and switch-zone coordination accordingly
- Splits the multicast dataplane client into focused modules: `mrib.rs` for
per-pass MRIB route reconciliation and `switch_zone.rs` for the MGD/DDM
switch-zone clients, leaving `dataplane.rs` to DPD group operations
- Adds schema migration `multicast-member-origin` (schema version 267): a new
`multicast_group_member_origin` enum (`static` / `igmp_snooped`) and a
`membership_origin` column on multicast group members defaulting to `static`.
Groundwork for the RFD 488 static and IGMP/MLD paths, distinguishing which
rows a future soft-state reaper may expire
- Aligns the simulated sled-agent's `set_mcast_fwd` with real OPTE's additive
next-hop semantics, and reads back through the `list_mcast_fwd` API in the
multi-sled test
- Also, the sled-agent multicast membership API was renamed
`instance_join/leave_multicast_group` → `vmm_join/leave_multicast_group`
(for sim + client/HTTP surface).
- Corrects stale reconciler, switch-zone, and API-version docs throughout
- Documents the test boundary: coverage stops at the Omicron-owned edge, while
DDM exchange and DPD member programming are maghemite/dendrite's domain
- Cleans up the now-dead inventory-based test scaffolding
0 commit comments