I've just made a test setup to clarify the radvd configuration.
My setup built in debian 10 (we use ubuntu for openstack, but the behaviour possibly the same) with two virtual machines:
- v6rtr
- snet1
The v6rtr have two NIC-s:
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc mq state UP group default qlen 1000
link/ether 56:6f:87:b2:00:0c brd ff:ff:ff:ff:ff:ff
inet 193.224.186.112/25 brd 193.224.186.127 scope global dynamic ens3
valid_lft 30993sec preferred_lft 30993sec
inet6 2001:738:0:534:546f:87ff:feb2:c/64 scope global dynamic mngtmpaddr
valid_lft 2591720sec preferred_lft 604520sec
inet6 fe80::546f:87ff:feb2:c/64 scope link
valid_lft forever preferred_lft forever
3: ens8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 56:6f:87:b2:00:11 brd ff:ff:ff:ff:ff:ff
inet 10.1.0.1/24 brd 10.1.0.255 scope global ens8
valid_lft forever preferred_lft forever
inet6 2001:738:0:51d::/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::546f:87ff:feb2:11/64 scope link
valid_lft forever preferred_lft forever
I've made a configuration, based on the qrouter radvd config in question (only changed the interface name, and removed some \n -s)
It looks like this:
interface ens8
{
AdvSendAdvert on;
MinRtrAdvInterval 30;
MaxRtrAdvInterval 100;
AdvLinkMTU 1500;
};
The snet1 machine in the same L2 VLAN of course.
The result on snet1:
[fazy(snet1:0)] <~> ip a
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 56:6f:87:b2:00:0e brd ff:ff:ff:ff:ff:ff
inet 10.1.0.10/24 brd 10.1.0.255 scope global dynamic ens3
valid_lft 14052sec preferred_lft 14052sec
inet6 fe80::546f:87ff:feb2:e/64 scope link
valid_lft forever preferred_lft forever
[fazy(snet1:0)] <~> ip -6 route
::1 dev lo proto kernel metric 256 pref medium
fe80::/64 dev ens3 proto kernel metric 256 pref medium
default via fe80::546f:87ff:feb2:11 dev ens3 proto ra metric 1024 expires 247sec hoplimit 64 pref medium
As you can see, the fe80::546f:87ff:feb2:11/64 (which is the LL address of the v6rtr machine ens8) and this link-local address advertised to the snet1 machine, but no prefix (since no prefix configured in radvd)
So overall, we got this in production, i assume:
- the instance got an IPv6 prefix, and the (proper) gateway from the Ciscos
- the instance got another IPv6 gateway from the qrouter
I've just made a test setup to clarify the radvd configuration.
My setup built in debian 10 (we use ubuntu for openstack, but the behaviour possibly the same) with two virtual machines:
- v6rtr
- snet1
The v6rtr have two NIC-s:
2: ens3: <BROADCAST, MULTICAST, UP,LOWER_ UP> mtu 9000 qdisc mq state UP group default qlen 1000 0:534:546f: 87ff:feb2: c/64 scope global dynamic mngtmpaddr 87ff:feb2: c/64 scope link MULTICAST, UP,LOWER_ UP> mtu 1500 qdisc mq state UP group default qlen 1000 87ff:feb2: 11/64 scope link
link/ether 56:6f:87:b2:00:0c brd ff:ff:ff:ff:ff:ff
inet 193.224.186.112/25 brd 193.224.186.127 scope global dynamic ens3
valid_lft 30993sec preferred_lft 30993sec
inet6 2001:738:
valid_lft 2591720sec preferred_lft 604520sec
inet6 fe80::546f:
valid_lft forever preferred_lft forever
3: ens8: <BROADCAST,
link/ether 56:6f:87:b2:00:11 brd ff:ff:ff:ff:ff:ff
inet 10.1.0.1/24 brd 10.1.0.255 scope global ens8
valid_lft forever preferred_lft forever
inet6 2001:738:0:51d::/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::546f:
valid_lft forever preferred_lft forever
I've made a configuration, based on the qrouter radvd config in question (only changed the interface name, and removed some \n -s)
It looks like this: erval 30; erval 100;
interface ens8
{
AdvSendAdvert on;
MinRtrAdvInt
MaxRtrAdvInt
AdvLinkMTU 1500;
};
The snet1 machine in the same L2 VLAN of course.
The result on snet1:
[fazy(snet1:0)] <~> ip a MULTICAST, UP,LOWER_ UP> mtu 1500 qdisc mq state UP group default qlen 1000 87ff:feb2: e/64 scope link
2: ens3: <BROADCAST,
link/ether 56:6f:87:b2:00:0e brd ff:ff:ff:ff:ff:ff
inet 10.1.0.10/24 brd 10.1.0.255 scope global dynamic ens3
valid_lft 14052sec preferred_lft 14052sec
inet6 fe80::546f:
valid_lft forever preferred_lft forever
[fazy(snet1:0)] <~> ip -6 route 87ff:feb2: 11 dev ens3 proto ra metric 1024 expires 247sec hoplimit 64 pref medium
::1 dev lo proto kernel metric 256 pref medium
fe80::/64 dev ens3 proto kernel metric 256 pref medium
default via fe80::546f:
As you can see, the fe80::546f: 87ff:feb2: 11/64 (which is the LL address of the v6rtr machine ens8) and this link-local address advertised to the snet1 machine, but no prefix (since no prefix configured in radvd)
So overall, we got this in production, i assume:
- the instance got an IPv6 prefix, and the (proper) gateway from the Ciscos
- the instance got another IPv6 gateway from the qrouter