[openstack-dev] [neutron][nova] Config drive claims ipv6_dhcp, neutron api says slaac

Simon Leinen simon.leinen at switch.ch
Fri Mar 24 09:30:01 UTC 2017

Clark Boylan writes:
>         {
>             "id": "network1",
>             "link": "tap14b906ba-8c",
>             "network_id": "7ee08c00-7323-4f18-94bb-67e081520e70",
>             "type": "ipv6_dhcp"
>         }
>     ],
>     "services": []
> }

> You'll notice that the network1 entry has a type of ipv6_dhcp; however,
> if you ask the neutron api it tells slaac is the ipv6_address_mode and
> ipv6_ra_mode. But enable_dhcp is also set to True. So which is it? Is
> there a bug here or am I missing something obvious? At the very least it
> appears that the config drive info is incomplete and does not include
> the slaac info.

Here's my hypothesis... "type ipvX_dhcp" really means "Neutron will
manage ipvX addresses", not necessarily that it will use the DHCP
protocol.  For IPv4 it will always imply DHCP, but for IPv6 the method
to tell the port user (instance) the address might be SLAAC (for the
"slaac" and "dhcpv6-stateless" modes) or Stateful DHCPv6 (for the
"dhcpv6-stateful" mode).

I think it would indeed be useful to convey the ipv6_address_mode (and
maybe also ipv6_ra_mode) in the metadata; but in principle a system
should be able to infer the supported mode by looking at the flags in
the RAs (Router Advertisements).  It's just that most GNU/Linux
distributions ignore what the RAs say :-( so you need to configure
/etc/network/interfaces explicitly for either "auto" (SLAAC) or "dhcp"

More information about the OpenStack-dev mailing list