Date: Mon, 27 Feb 2012 10:43:11 +0800 From: Archimedes Gaviola <agaviola@infoweapons.com> To: <freebsd-net@freebsd.org> Subject: Issue with multiple configured IPv6 prefixes in rtadvd.conf Message-ID: <4F4AEDBF.3000903@infoweapons.com>
next in thread | raw e-mail | index | archive | help
Hi, I setup my FreeBSD 8.2 IPv6 router with 2 IPv6 addresses on its interface and configure a static router advertisement (RA) using the 2 prefixes. Each prefix has its corresponding prefix length, valid lifetime, preferred lifetime and MTU options. vulcan# ifconfig em2 em2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 options=3<RXCSUM,TXCSUM> inet6 fe80::204:23ff:fed4:903a%em2 prefixlen 64 scopeid 0x3 inet6 3ffe:501:ffff:100::1 prefixlen 64 inet6 3ffe:501:ffff:101::1 prefixlen 64 ether 00:04:23:d4:90:3a media: Ethernet autoselect (100baseTX <full-duplex>) status: active vulcan# cat /etc/rtadvd.conf em2:\ :addrs#1:addr="3ffe:501:ffff:100::":prefixlen#64:vltime#12345:pltime#12345:mtu#1400: :addrs#2:addr="3ffe:501:ffff:101::":prefixlen#64:vltime#12345:pltime#12345:mtu#1400: Run RA with rtadvd, vulcan# rtadvd -s -c /etc/rtadvd.conf em2 and here's one of the tcpdump packet logs (exported to a file): Frame 4 (150 bytes on wire, 150 bytes captured) Ethernet II, Src: Intel_d4:90:3a (00:04:23:d4:90:3a), Dst: IPv6mcast_00:00:00:01 (33:33:00:00:00:01) Internet Protocol Version 6 Internet Control Message Protocol v6 Type: 134 (Router advertisement) Code: 0 Checksum: 0x1d4f [correct] Cur hop limit: 64 Flags: 0x00 Router lifetime: 1800 Reachable time: 0 Retrans timer: 0 ICMPv6 Option (Source link-layer address) Type: Source link-layer address (1) Length: 8 Link-layer address: 00:04:23:d4:90:3a ICMPv6 Option (MTU) Type: MTU (5) Length: 8 MTU: 1400 ICMPv6 Option (Prefix information) Type: Prefix information (3) Length: 32 Prefix length: 64 Flags: 0xc0 Valid lifetime: 2592000 Preferred lifetime: 604800 Prefix: 3ffe:501:ffff:101:: ICMPv6 Option (Prefix information) Type: Prefix information (3) Length: 32 Prefix length: 64 Flags: 0xc0 Valid lifetime: 2592000 Preferred lifetime: 604800 Prefix: 3ffe:501:ffff:100:: it seems like the prefix and MTU options took effect upon advertising the RA message while the valid lifetime and preferred lifetime were using the default values. So, I try to modify my rtadvd.conf using one prefix temporarily to verify if those values are acceptable. vulcan# cat /etc/rtadvd.conf em2:\ :addrs#1:addr="3ffe:501:ffff:100::":prefixlen#64:vltime#12345:pltime#12345:mtu#1400: Re-run rtadvd again and here's the packet logs, Frame 6 (118 bytes on wire, 118 bytes captured) Ethernet II, Src: Intel_d4:90:3a (00:04:23:d4:90:3a), Dst: IPv6mcast_00:00:00:01 (33:33:00:00:00:01) Internet Protocol Version 6 Internet Control Message Protocol v6 Type: 134 (Router advertisement) Code: 0 Checksum: 0xd622 [correct] Cur hop limit: 64 Flags: 0x00 Router lifetime: 1800 Reachable time: 0 Retrans timer: 0 ICMPv6 Option (Source link-layer address) Type: Source link-layer address (1) Length: 8 Link-layer address: 00:04:23:d4:90:3a ICMPv6 Option (MTU) Type: MTU (5) Length: 8 MTU: 1400 ICMPv6 Option (Prefix information) Type: Prefix information (3) Length: 32 Prefix length: 64 Flags: 0xc0 Valid lifetime: 12345 Preferred lifetime: 12345 Prefix: 3ffe:501:ffff:100:: so, this time the values are correct since it was advertised in the message. Now, my observation is that there seems to be a problem with advertising two or perhaps more prefixes in the RA message. This has been tested in 7.x and the issues were the same. FreeBSD 4.11 behave the same as well. Is this a bug or limitation of the rtadvd design implementation? Thanks, Archimedes
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4F4AEDBF.3000903>