IPv6 Addressing format used by MaaS

Hi Team,

I am trying to understand what strategy does MaaS use when it assigns a static IPv6 address to a machine. The document says, the machine gets a static IPv6 address. Does MaaS selects a random IPv6 address from the pool of free IPs in the subnet or does it uses some format like EUI-64 while selecting an IPv6 IP for the machine to be deployed?


Hi @trsoumi88 ,

If you are curious about the internals, I can point you to maas/src/maasserver/models/subnet.py at 73d82b36429317f82ea26962f79c62bd471958f3 · canonical/maas · GitHub .

May I ask you why are you looking for this info?

1 Like

Appreciate the quick reply @r00ta !

The code says - an available IPv6 IP is selected from the pool of free IP. It doesn’t look like it uses any other strategy.

In our setup we allow RA for IPv6 subnets. This makes sure that as soon a machine is up, it gets an IPv6 IP via RA (Router Advertisement). Such IPv6 IP makes use of EUI-64 format ( a special address format that maps device hardware network addresses into IPv6 addresses).

Our MaaS setup uses version 3.2.10 setup using deb. Ours is a very simple setup with Rack and Region controller sharing the same Virtual Machine (soon this will change due to the usecases described below).

Till these days we were using MaaS for custom OS installation. Once a machine is successfully deployed, we delete the machine from MaaS database (using maas-cli running in a docker container).

Now we are planning to expand our portfolio to make use of MaaS for on-prem Kubernetes setup using CAPI. One of the reasons for choosing MaaS is that it supports IPv6.

I was trying to deploy a machine with native VLAN (say vlan999) that has both IPv4 and IPv6 subnets. We have setup DHCP Relay for vlan999. RA is enabled for vlan999. MaaS rack server handles the DHCP request for the VLAN.

  • When MaaS commissions such a machine, as part of commissioning scripts MaaS identifies that the machine has an IPv6 IP (because it gets an IPv6 IP from RA) and it adds an alias for the machine (eth0:1 corresponding to IPv6).
  • During the Deployment stage, MaaS provides an IPv4 and IPv6 IP for the machine.

The problem is, MaaS provides an IPv6 IP from the available pool, and at the same time the machine gets an IPv6 IP from RA - this means the machine now has 2 IPv6 IPs :grimacing:

This raises a couple of questions in my mind:

  • What is the recommended approach wrt IPv6 ?
  • Isn’t RA supported?
  • Should MaaS use some format to generate IPv6 IP (may be EUI-64 format)?


we recently recorded a show and tell regarding IPv6 Show and Tell: IPv6 . Up to my knowledge we do not support RA. You can only

  1. let maas assign a static ip from the pool
  2. let the machine pick an IP from DHCP
  3. assign a static ip yourself
  4. let the interface unconfigured
  • Should MaaS use some format to generate IPv6 IP (may be EUI-64 format)?

that’s a good point, I think this is something we can consider in the future

1 Like