Skip to content

Conversation

@zeeshanlakhani
Copy link
Collaborator

@zeeshanlakhani zeeshanlakhani commented Nov 30, 2025

Egress multicast (instances sending to external receivers) is not in MVP scope, so the MVLAN field for VLAN-tagged upstream traffic is unnecessary, as it probably won't be attached specifically to a group, and is worth revisiting.

Changes:

  • Drop mvlan column from multicast_group table (schema v213)
  • Remove mvlan from Rust structs, SQL queries, and API views
  • Add TODO scope documentation

When egress support lands, VLAN tagging will be reintroduced with proper uplink port configuration.

Notes:

Egress multicast (instances sending to external receivers) is not in
MVP scope, so the MVLAN field for VLAN-tagged upstream traffic is
unnecessary, as it probably won't be attached specifically to a group,
and is worth revisiting.

Changes:
  - Drop mvlan column from multicast_group table (schema v213)
  - Remove mvlan from Rust structs, SQL queries, and API views
  - Add TODO scope documentation

When egress support lands, VLAN tagging will be reintroduced with
proper uplink port configuration.
@zeeshanlakhani zeeshanlakhani force-pushed the zl/drop-mvlan-from-group branch from 05ed654 to 68a0df3 Compare December 1, 2025 07:17
@zeeshanlakhani zeeshanlakhani self-assigned this Dec 10, 2025
@zeeshanlakhani zeeshanlakhani force-pushed the zl/drop-mvlan-from-group branch from 31c9a69 to bc20284 Compare December 17, 2025 03:59
@zeeshanlakhani zeeshanlakhani force-pushed the zl/drop-mvlan-from-group branch from f86fc3f to 5ca441d Compare December 17, 2025 10:43
@zeeshanlakhani
Copy link
Collaborator Author

zeeshanlakhani commented Dec 17, 2025

This PR should be good now after rummaging through conflicts on sources post-merge of #9450.

zeeshanlakhani added a commit that referenced this pull request Dec 23, 2025
Previously, each silo could only have one default IP pool. This change
allows one default pool per (pool_type, ip_version) combination, enabling
silos to have separate defaults for:

  - Unicast IPv4
  - Unicast IPv6
  - Multicast IPv4
  - Multicast IPv6

This work previously branched off
#9451, but now off `main`,
involving changes that have to do with the mcast lifecycle changes.

Includes:

  - Each default can now be set or unset and demoted independently.
    Unsetting the unicast IPv4 default does not affect the multicast IPv4
    default, for example.
  - Add `pool_type` and `ip_version` columns to `ip_pool_resource`
    (denormalized from parent `ip_pool` for unique index)
  - Replace unique index with partial index on (resource_id, pool_type,
    ip_version) WHERE is_default = true
  - Rename `IpPoolResourceLink` to `IncompleteIpPoolResource` to reflect
    that pool_type/ip_version are actually populated by the linking query
  - Add `ip_version` field to API params for default pool disambiguation
  - API versioning for backwards compatibility with older clients
zeeshanlakhani added a commit that referenced this pull request Dec 23, 2025
Previously, each silo could only have one default IP pool. This change
allows one default pool per (pool_type, ip_version) combination, enabling
silos to have separate defaults for:

  - Unicast IPv4
  - Unicast IPv6
  - Multicast IPv4
  - Multicast IPv6

This work previously branched off #9451, but is now off `main`,
involving changes that have to do with the mcast lifecycle changes.

Includes:

  - Each default can now be set or unset and demoted independently.
    Unsetting the unicast IPv4 default does not affect the multicast IPv4
    default, for example.
  - Add `pool_type` and `ip_version` columns to `ip_pool_resource`
    (denormalized from parent `ip_pool` for unique index)
  - Replace unique index with partial index on (resource_id, pool_type,
    ip_version) WHERE is_default = true
  - Rename `IpPoolResourceLink` to `IncompleteIpPoolResource` to reflect
    that pool_type/ip_version are actually populated by the linking query
  - Add `ip_version` field to API params for default pool disambiguation
  - API versioning for backwards compatibility with older clients
zeeshanlakhani added a commit that referenced this pull request Dec 23, 2025
Previously, each silo could only have one default IP pool. This change
allows one default pool per (pool_type, ip_version) combination, enabling
silos to have separate defaults for:

  - Unicast IPv4
  - Unicast IPv6
  - Multicast IPv4
  - Multicast IPv6

This work previously branched off #9451, but is now off `main`,
involving changes that have to do with the mcast lifecycle changes.

Includes:

  - Each default can now be set or unset and demoted independently.
    Unsetting the unicast IPv4 default does not affect the multicast IPv4
    default, for example.
  - Add `pool_type` and `ip_version` columns to `ip_pool_resource`
    (denormalized from parent `ip_pool` for unique index)
  - Replace unique index with partial index on (resource_id, pool_type,
    ip_version) WHERE is_default = true
  - Rename `IpPoolResourceLink` to `IncompleteIpPoolResource` to reflect
    that pool_type/ip_version are actually populated by the linking query
  - Add `ip_version` field to API params for default pool disambiguation
  - API versioning for backwards compatibility with older clients
zeeshanlakhani added a commit that referenced this pull request Dec 23, 2025
Previously, each silo could only have one default IP pool. This change
allows one default pool per (pool_type, ip_version) combination, enabling
silos to have separate defaults for:

  - Unicast IPv4
  - Unicast IPv6
  - Multicast IPv4
  - Multicast IPv6

This work previously branched off #9451, but is now off `main`,
involving changes that have to do with the mcast lifecycle changes.

Includes:

  - Each default can now be set or unset and demoted independently.
    Unsetting the unicast IPv4 default does not affect the multicast IPv4
    default, for example.
  - Add `pool_type` and `ip_version` columns to `ip_pool_resource`
    (denormalized from parent `ip_pool` for unique index)
  - Replace unique index with partial index on (resource_id, pool_type,
    ip_version) WHERE is_default = true
  - Rename `IpPoolResourceLink` to `IncompleteIpPoolResource` to reflect
    that pool_type/ip_version are actually populated by the linking query
  - Add `ip_version` field to API params for default pool disambiguation
  - API versioning for backwards compatibility with older clients
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.

3 participants