Skip site navigation (1)Skip section navigation (2)
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>