Can not add router interface to SLAAC network
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
neutron |
Fix Released
|
Medium
|
Sridhar Gaddam | ||
Juno |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Looks like after resolving of https:/
Steps to reproduce:
$ neutron net-create netto
$ neutron subnet-create --ip_version 6 --ipv6-address-mode slaac --ipv6-ra-mode slaac netto 2021::/64
$ neutron router-create netrouter
$ neutron router-
The error is:
Invalid input for operation: IPv6 address 2021::1 can not be directly assigned to a port on subnet 8cc737a7-
** The same behaviour if you set gateway explicitly to fixed IP address like 2022::7:
$ neutron subnet-create --ip_version 6 --gateway 2022::7 --ipv6-address-mode slaac --ipv6-ra-mode slaac netto 2022::/64
$ neutron router-
Invalid input for operation: IPv6 address 2022::7 can not be directly assigned to a port on subnet f4ebf914-
*** The same behaviour if we use dhcpv6-stateless instead of SLAAC.
1. It should be legal possibility to add port with fixed IP to SLAAC/stateless networks.
2. When router add its interface to SLAAC subnet it should receive its own SLAAC address by default, if fixed IP address is not specified explicitly.
Changed in neutron: | |
assignee: | nobody → Sridhar Gaddam (sridhargaddam) |
Changed in neutron: | |
importance: | Undecided → Medium |
Changed in neutron: | |
status: | New → In Progress |
Changed in neutron: | |
milestone: | none → kilo-1 |
Changed in neutron: | |
status: | Fix Committed → Fix Released |
Changed in neutron: | |
milestone: | kilo-1 → 2015.1.0 |
Looks like we have more work to do in this area. Neutron allocates a gateway_ip when creating a subnet, in the same time creating allocation_pool for this subnet.
The issue with allowing fixed_ip in SLAAC subnet is that it's not possible to give this address to the VM. But this is not an issue with the gateway_ip in the case of neutron router. So the fix could be
-- create the gateway_ip with eui64, and don't allow --gateway-ip to be specified in the case of slaac subnet.
-- honor it, but check the owner of the IP when testing the ip address. And if the owner is the router, accept it; otherwise, error.
Consider https:/ /review. openstack. org/#/c/ 101433/ 14 which tried to use eui64 for all the ports in a slaac subnet, but apparently the router port is missed out. Therefore solution 1 seems to be preferred.
In any case, allocation pool is not necessary to be maintained for a SLAAC subnet.