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

_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"

Reply via email to