Skip to content

Enable (IPv6) Subnet Allocation with AddressScope/SubnetPool #393

@modzilla99

Description

@modzilla99

What would you like to see implemented?

Hey,

we'd like to manage Subnets wih korc, but we have a requirement on IPv6. To uniquely allocate IPv6 prefixes we use Address Scopes and delegate SubnetPools to our tenants.

You can think of the AddresScope as the global routing table. SubnetPools on the other hand holds one or more unique subnets. They are linked to an Address Scope and thus cannot overlap. On the subnet creation you can provide a SubnetPool, which will then be used to allocate the subnet. The network will then also have a reference to the AdressScope for the appropriate IP family.

This enables us to ensure that nobody can "steal" any GUA prefixes we own. Only if the address scope ID on the network is set, the subnet will be advertised externally.

Adding it to the SubnetResourceSpec and making cidr optional would be amazing.

resource:
  cidr: <optional - can be set to allocate specific subnet> 
  subnetPool:
    prefixLength: <default: 64 for IPv6 and 26 for IPv4 - optional>
    name: <Name or ID - required>
# This would be the equivalent OpenStack CLI flags
openstack subnet create <name> \
    --prefix-length <optional - prefixLength> \
    --subnet-pool <Name or ID> \
    --subnet-range <optional - CIDR>

Additional information

Link to reference documentation

No response

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions