Re: About IPv6 support
Gilles Diribarne <[email protected]>
| Newsgroups | gmane.linux.keepalived.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi,
Thanks for reply...
On 01/04/2015 12:19, Frank Baalbergen wrote:
Hi,
On 04/01/2015 09:14 AM, Gilles Diribarne wrote:
Hi,
We have a VRRP configuration containing IPv6 virtual addresses, using
native_ipv6 mode.
This shouldn't be a problem, we are using this combination for a couple
of years. Can you share your complete configuration?
Our configuration is
vrrp_instance 35 {
native_ipv6
interface eth2
virtual_router_id 45
priority 150
virtual_ipaddress {
10.6.83.10/16
dev eth2
10.6.83.11/16
dev eth2
fc00::a06:530a/64 dev eth2
fc00::a06:530b/64 dev eth2
}
notify_master "/bin/run-parts /etc/system.d/vrrp/master
-a 35 -a 1"
notify_backup "/bin/run-parts /etc/system.d/vrrp/backup
-a 35 -a 0"
notify_fault "/bin/run-parts /etc/system.d/vrrp/fault -a
35 -a -1"
}
We are using both IPv4 and IPv6 virtual addresses in IPv6 native
mode. For this configuration, with keepalived 1.2.15, we have the
following VRRP packet output.
14:02:49.879867
00:19:dc:00:12:f2 > 33:33:00:00:00:12, ethertype IPv6
(0x86dd), length 62:
0x0000: 6000 0000
0008 70ff fe80 0000 0000 0000 `.....p.........
0x0010: 0219 dcff
fe00 12f2 ff02 0000 0000 0000 ................
0x0020: 0000 0000
0000 0012 212d 9604 0001 48cd
........!-....H.
Here is the details from the VRRP packet
version : 0x2
advertisement : 0x1
vrrp id : 0x2d (45)
priority : 0x96 (150)
addr count : 0x04 (2 IPv4
+ 2 IPv6)
auth type : 0x00
adver int : 0x01
checksum : 0x48cd
ip n°1 (ipv4) : not present
ip n°2 (ipv4) : not present
ip n°3 (ipv6) : not present
ip n°4 (ipv6) : not present
What we see is that there is no addresses sent. Is this a normal
behaviour ?
When receiving this packet, how the backup is expected to work if it
receives a vrrp id identical to the one into its own configuration
file, if it can not check that the virtual addresses match ?
Can't we have any problem of a backup becoming master for the wrong
instance ?
We have noticed that no IPv6 address is sent in native_ipv6 mode in the
VRRP packet.
So IPv6 addresses are sent when you remove native_ipv6?
No, I just did this test.
vrrp_instance 35 {
interface eth2
virtual_router_id 45
priority 150
virtual_ipaddress {
10.6.83.10/16 dev eth2
10.6.83.11/16 dev eth2
fc00::a06:530a/64 dev
eth2
fc00::a06:530b/64 dev
eth2
}
notify_master
"/bin/run-parts /etc/system.d/vrrp/master -a 35 -a 1"
notify_backup
"/bin/run-parts /etc/system.d/vrrp/backup -a 35 -a 0"
notify_fault
"/bin/run-parts /etc/system.d/vrrp/fault -a 35 -a -1"
}
Here is the packet output:
13:59:37.995683 IP (tos 0xc0,
ttl 255, id 157, offset 0, flags [none], proto VRRP (112),
length 52)
10.6.83.5 > 224.0.0.18 : VRRPv2,
Advertisement, vrid 45, prio 150, authtype none, intvl 1s,
length 32, addrs(4): 10.6.83.10,10.6.83.11,0.0.0.0,0.0.0.0
0x0000: 45c0 0034
009d 0000 ff70 7cdf 0a06 5305 E..4.....p|...S.
0x0010: e000 0012 212d 9604
0001 8eab 0a06 530a ....!-........S.
0x0020: 0a06 530b
0000 0000 0000 0000 0000 0000 ..S.............
0x0030: 0000
0000 ....
version : 0x2
advertisement : 0x1
vrrp id : 0x2d (45)
priority : 0x96 (150)
addr count : 0x04 (2 IPv4
+ 2 IPv6)
auth type : 0x00
adver int : 0x01
checksum : 0x8eab
ip n°1 (ipv4) : 0x0a06530a
(10.5.83.10)
ip n°2 (ipv4) : 0x0a06530b
(10.5.83.11)
ip n°3 (ipv6) : 0x00000000
(0.0.0.0)
ip n°4 (ipv6) : 0x00000000
(0.0.0.0)
The IPv6 addresses are replaced by 0.0.0.0 IPv4 addresses.
I had a look in the source code, and saw that there was no check of the
IP address in IPv6.
What is keepalived behaviour when native_ipv6 mode and IPv6 virtual
addresses are set ?
native_ipv6 sets VRRP multicasting protocol to IPv6. I took a short look
at the code, native_ipv6 and ipv6 virtual ip addresses should not
interfere with each other.
If the IPv6 virtual addresses are not conveyed into VRRP packet, the
receiver is not able to check the coherence with its own configuration.
It can only check that the VRRP identifier is same and the number of
virtual addresses is the same.
Not sure how this is implemented. Can you share what the output is from
wireshark when you turn of native_ipv6?
I just want to know if the current behaviour is normal. And if not,
is there any plan of a more complete IPv6 management ? If no, we are
interested in contributing about inserting IPv6 virtual addresses
into VRRP packet, but we maybe need to discuss about the right way
to do this.
Regards,
Gilles
------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Keepalived-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/keepalived-devel