Draft
Conversation
taspelund
reviewed
Mar 30, 2026
taspelund
reviewed
Mar 30, 2026
taspelund
reviewed
Mar 30, 2026
taspelund
reviewed
Mar 30, 2026
taspelund
reviewed
Mar 30, 2026
taspelund
reviewed
Mar 30, 2026
taspelund
reviewed
Mar 30, 2026
taspelund
reviewed
Mar 30, 2026
taspelund
reviewed
Mar 30, 2026
taspelund
reviewed
Mar 30, 2026
taspelund
reviewed
Mar 30, 2026
taspelund
reviewed
Mar 30, 2026
taspelund
reviewed
Mar 31, 2026
taspelund
reviewed
Mar 31, 2026
taspelund
reviewed
Mar 31, 2026
taspelund
reviewed
Mar 31, 2026
taspelund
reviewed
Mar 31, 2026
taspelund
reviewed
Mar 31, 2026
taspelund
reviewed
Mar 31, 2026
…ni type, sled transactions, merge main (665) This is setup to come after #665 API modifications, but uses the up-to-date setup and dropshot API manager.
zeeshanlakhani
added a commit
that referenced
this pull request
Mar 31, 2026
…thops Address review comments from #667: - UnicastAddrV4/V6 validated newtypes for multicast source addresses. Rejects multicast, broadcast, loopback, unspecified, link-local, Class E (V4), and this-network 0/8 (V4). RFC-grounded validation consistent with DPD's multicast address checks. - MulticastRouteKeyV4/V6 source fields use UnicastAddrV4/V6 instead of raw Ipv4Addr/Ipv6Addr. Source validation removed from validate(), enforced at construction by types. - VNI field changed from u32 to omicron_common Vni type. Removes manual 24-bit validation. CLI uses value_parser for parse-time validation at the clap boundary. - Removed underlay_nexthops from MulticastRoute. Sled membership is managed by Omicron and programmed into DPD/OPTE directly. The MRIB only carries underlay_group (ff04::/64) for DDM advertisement. - Renamed MulticastRouteSource to MulticastSourceProtocol to avoid confusion with source addresses. - Convert proptest validation tests to unit tests: AF mismatch (v4/v6, v6/v4), RPF AF mismatch, loopback/unspecified source rejection. Type-level enforcement via UnicastAddr newtypes makes property-based testing redundant for these invariants. - Added prop_unicast_addr_v4_rejects_class_e proptest. - Removed unnecessary non-zero group ID bias in proptest strategy. - Regenerated mg-admin v8 OpenAPI spec.
zeeshanlakhani
added a commit
that referenced
this pull request
Mar 31, 2026
Address review comments from #667: - This addes UnicastAddrV4/V6 validated newtypes for multicast source addresses. These types reject multicast, broadcast, loopback, unspecified, link-local, Class E (V4), and this-network 0/8 (V4). We could eventually move these to more common structures, but there's some churn around omicron-common for new networking types in Omicron's codebase. - VNI field changed from u32 to omicron_common Vni type. This removes all manual 24-bit validation. The clap CLI uses value_parser for parse-time validation at the clap boundary. - We removed underlay_nexthops from MulticastRoute. Sled membership is managed by Omicron and programmed into DPD/OPTE directly. The MRIB only carries underlay_group (ff04::/64) for DDM advertisement. - MulticastRouteSource was renamed to MulticastSourceProtocol to avoid confusion with source addresses. - We converted a set of proptest validation tests to unit tests.
zeeshanlakhani
added a commit
that referenced
this pull request
Mar 31, 2026
…erge main Address review comments from #667: - This adds UnicastAddrV4/V6 validated newtypes for multicast source addresses. These types reject multicast, broadcast, loopback, unspecified, link-local, Class E (V4), and this-network 0/8 (V4). We could eventually move these to more common structures, but there's some churn around omicron-common for new networking types in Omicron's codebase. - VNI field changed from u32 to omicron_common Vni type. This removes all manual 24-bit validation. The clap CLI uses value_parser for parse-time validation at the clap boundary. - We removed underlay_nexthops from MulticastRoute. Sled membership is managed by Omicron and programmed into DPD/OPTE directly. The MRIB only carries underlay_group (ff04::/64) for DDM advertisement. - MulticastRouteSource was renamed to MulticastSourceProtocol to avoid confusion with source addresses. - We converted a set of proptest validation tests to unit tests.
11786c0 to
22b7b3e
Compare
zeeshanlakhani
added a commit
that referenced
this pull request
Mar 31, 2026
…erge main Address review comments from #667: - This adds UnicastAddrV4/V6 validated newtypes for multicast source addresses. These types reject multicast, broadcast, loopback, unspecified, link-local, Class E (V4), and this-network 0/8 (V4). We could eventually move these to more common structures, but there's some churn around omicron-common for new networking types in Omicron's codebase. - VNI field changed from u32 to omicron_common Vni type. This removes all manual 24-bit validation. The clap CLI uses value_parser for parse-time validation at the clap boundary. - We removed underlay_nexthops from MulticastRoute. Sled membership is managed by Omicron and programmed into DPD/OPTE directly. The MRIB only carries underlay_group (ff04::/64) for DDM advertisement. - MulticastRouteSource was renamed to MulticastSourceProtocol to avoid confusion with source addresses. - We converted a set of proptest validation tests to unit tests.
22b7b3e to
954f63a
Compare
954f63a to
8456ce4
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.