Skip to content

IPv6 address assignment for sled services #443

@smklein

Description

@smklein

Quoting @rcgoodfellow :

I think it's still an open question how stable addresses will find their way onto servers. The approach I've been taking in my testing setups is the following: Each router running on a rack switch is started with an IPv6 /56 prefix, who provides that? ... not sure. When routers running on servers peer with a rack-level router, the rack-level router delegates a /64 to them and then the router running on the server automatically assigns the first address in that /64 to the server.

It was also discussed, this assigned IP address should be advertised during the IPv6 UDP multicast discovery phase. As implemented, the "self address" during this advertisement is currently set to "UNSPECIFIED", which could certainly be more precise.

Without the actual presence of a switch/router which can assign an IPv6 prefix, this is a little tricky to implement in a test network.

IMO, we should take the following next steps:

  • Proceed with the IPv6 advertisement using a combination of hard-coded + "Unspecified" addresses over link-local. This is a placeholder, but it works in our existing lab network.
  • Virtualize our switch/router, so we can begin a more realistic process of allocating these prefixes. @rcgoodfellow , I'd be interested in your perspective here - IMO this should be something that is easily integrated with the developer workflow, such that "starting omicron" also "starts the virtual router" (like we basically do for CockroachDB on our Github Actions). Is there a way we could do this with Maghemite - by running it on one of the Sleds, such that it acts as the router?

Related to: #332

Metadata

Metadata

Assignees

No one assigned

    Labels

    networkingRelated to the networking.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions