Understanding multiple IPv6 interfaces under 8.0 (fwd)

Li, Qing qing.li at bluecoat.com
Mon Dec 14 21:54:13 UTC 2009


Please try the temporary patch at:

	http://people.freebsd.org/~qingli/nd6-ns.diff

and it should fix your problem.

-- Qing


> -----Original Message-----
> From: owner-freebsd-net at freebsd.org [mailto:owner-freebsd-
> net at freebsd.org] On Behalf Of Li, Qing
> Sent: Monday, December 14, 2009 10:59 AM
> To: Dennis Glatting; freebsd-net at freebsd.org
> Subject: RE: Understanding multiple IPv6 interfaces under 8.0 (fwd)
> 
> I will take a look at it later today.
> 
> -- Qing
> 
> 
> > -----Original Message-----
> > From: owner-freebsd-net at freebsd.org [mailto:owner-freebsd-
> > net at freebsd.org] On Behalf Of Dennis Glatting
> > Sent: Sunday, December 13, 2009 1:59 PM
> > To: freebsd-net at freebsd.org
> > Subject: Understanding multiple IPv6 interfaces under 8.0 (fwd)
> >
> >
> > I am having a problem diagnosing a multiple IPv6 interfaces problem.
> > Any
> > hint is appreciated.
> >
> > OS:
> >
> > Elmer# uname -a FreeBSD Elmer 8.0-STABLE FreeBSD 8.0-STABLE #94: Fri
> > Dec 11
> > 17:24:09 MST 2009 root at Elmer:/usr/src/sys/amd64/compile/ELMER amd64
> >
> >
> > I have two interfaces on the same switch fabric. They both reside
> > within
> > the same prefix. One is IPv4/IPv6 and the other strictly IPv6. The
> > purpose
> > of these two interfaces is the "normal" stuff and a "bulk data net."
> > The
> > bulk data net is merely an Ethernet intreface with a larger MTU to
> aid
> > back-up (incoming data) and otehr tasks. The interfaces are defiend
> as
> > follows:
> >
> > Elmer# ifconfig -a
> > bce0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0
mtu
> > 1500
> >
> >
>
options=1bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM
> > ,TSO4>
> >          ether 00:13:72:60:ac:52
> >          inet 172.19.10.10 netmask 0xffffff00 broadcast
172.19.10.255
> >          inet6 fe80::213:72ff:fe60:ac52%bce0 prefixlen 64 scopeid
0x1
> >          inet6 fd7c:3f2b:e791:1::ac13:a0a prefixlen 64
> >          nd6 options=3<PERFORMNUD,ACCEPT_RTADV>
> >          media: Ethernet 1000baseT <full-duplex>
> >          status: active
> > bce1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0
mtu
> > 8192
> >
> >
>
options=1bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM
> > ,TSO4>
> >          ether 00:13:72:60:ac:50
> >          inet6 fd7c:3f2b:e791:1:0:1:ac13:a0a prefixlen 64
> >          inet6 fe80::213:72ff:fe60:ac50%bce1 prefixlen 64 scopeid
0x2
> >          nd6 options=3<PERFORMNUD,ACCEPT_RTADV>
> >          media: Ethernet autoselect (1000baseT <full-duplex>)
> >          status: active
> > lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
> >          options=3<RXCSUM,TXCSUM>
> >          inet 127.0.0.1 netmask 0xff000000
> >          inet6 ::1 prefixlen 128
> >          inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
> >          nd6 options=3<PERFORMNUD,ACCEPT_RTADV>
> >
> > Bce1 is the bulk data net. I can ping6 a host out the bce0 interface
> > and
> > get a response. However, though I can send ping6 packets out bce1 to
> > the
> > same host, that host cannot discover the MAC for bce1. For example:
> >
> > Elmer# ping6 -S fd7c:3f2b:e791:1::ac13:a0a docs.penx.com
> > PING6(56=40+8+8 bytes) fd7c:3f2b:e791:1::ac13:a0a -->
> > fd7c:3f2b:e791:1::ac13:a15
> > 16 bytes from fd7c:3f2b:e791:1::ac13:a15, icmp_seq=0 hlim=64
> time=0.301
> > ms
> > 16 bytes from fd7c:3f2b:e791:1::ac13:a15, icmp_seq=1 hlim=64
> time=0.224
> > ms
> >
> > Elmer# ping6 -S fd7c:3f2b:e791:1:0:1:ac13:a0a docs.penx.com
> > PING6(56=40+8+8 bytes) fd7c:3f2b:e791:1:0:1:ac13:a0a -->
> > fd7c:3f2b:e791:1::ac13:a15
> >
> > (nothing returned).
> >
> >
> > Docs# tcpdump -n -q ip6 and not tcp and not udp
> > tcpdump: verbose output suppressed, use -v or -vv for full protocol
> > decode
> > listening on bge0, link-type EN10MB (Ethernet), capture size 96
bytes
> > 13:11:05.557252 IP6 fd7c:3f2b:e791:1:0:1:ac13:a0a >
> > fd7c:3f2b:e791:1::ac13:a15: ICMP6, echo request, seq 55, length 16
> > 13:11:05.557275 IP6 fd7c:3f2b:e791:1::ac13:a15 > ff02::1:ff13:a0a:
> > ICMP6, neighbor solicitation, who has fd7c:3f2b:e791:1:0:1:ac13:a0a,
> > length 32
> >
> > (and so on)
> >
> > Note: Docs:
> > bge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0
mtu
> > 1500
> >
options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
> >          ether 00:11:85:ee:02:54
> >          inet 172.19.10.21 netmask 0xffffff00 broadcast
172.19.10.255
> >          inet6 fe80::211:85ff:feee:254%bge0 prefixlen 64 scopeid 0x1
> >          inet6 fd7c:3f2b:e791:1::ac13:a15 prefixlen 64
> >          nd6 options=3<PERFORMNUD,ACCEPT_RTADV>
> >          media: Ethernet autoselect (1000baseT <full-duplex>)
> >          status: active
> >
> >
> > If I watch the bce1 interface on Elmer using TCPdump in another
> window
> > session, it is seeing the solicitation, at least via tcpdump; but no
> > response as to who has fd7c:3f2b:e791:1:0:1:ac13:a0a.
> >
> > I've included other data below. I am at a loss to understand why the
> > bce1
> > interface isn't being advertised on the fabric. I am an IPv6 newbie.
> I
> > have a router on the network.
> >
> >
> > Elmer# ndp -an
> > Neighbor                             Linklayer Address  Netif Expire
> > S Flags
> > fe80::213:72ff:fe60:ac50%bce1        0:13:72:60:ac:50    bce1
> permanent
> > R
> > fd7c:3f2b:e791:1:0:1:ac13:a0a        0:13:72:60:ac:50    bce1
> permanent
> > R
> > fd7c:3f2b:e791:1::ac13:a15           0:11:85:ee:2:54     bce0 12s
> > R
> > fe80::213:72ff:fe60:ac52%bce0        0:13:72:60:ac:52    bce0
> permanent
> > R
> > fd7c:3f2b:e791:1::1                  0:17:95:25:5c:90    bce0
> 23h58m20s
> > S R
> > fe80::217:95ff:fe25:5c90%bce0        0:17:95:25:5c:90    bce0
> 23h59m22s
> > S R
> > fd7c:3f2b:e791:1::ac13:a0a           0:13:72:60:ac:52    bce0
> permanent
> > R
> >
> >
> > Docs# ndp -an
> > Neighbor                             Linklayer Address  Netif Expire
> > S Flags
> > fd7c:3f2b:e791:1::ac13:a15           0:11:85:ee:2:54     bge0
> permanent
> > R
> > fd7c:3f2b:e791:1::1                  0:17:95:25:5c:90    bge0 2s
> > D R
> > fe80::211:85ff:feee:254%bge0         0:11:85:ee:2:54     bge0
> permanent
> > R
> > fe80::217:95ff:fe25:5c90%bge0        0:17:95:25:5c:90    bge0
> 23h58m30s
> > S R
> > fd7c:3f2b:e791:1::ac13:a0a           0:13:72:60:ac:52    bge0
> 23h59m46s
> > S
> >
> >
> > Elmer# netstat -rn
> > Routing tables
> >
> > Internet:
> > Destination        Gateway            Flags    Refs      Use  Netif
> > Expire
> > default            172.19.10.1        UGS       152  3711257   bce0
> > 127.0.0.1          link#3             UH          0   442332    lo0
> > 172.19.10.0/24     link#1             U           0 10116355   bce0
> > 172.19.10.10       link#1             UHS         0        0    lo0
> >
> > Internet6:
> > Destination                       Gateway
Flags
> > Netif Expire
> > ::/96                             ::1                           UGRS
> > lo0  =>
> > default                           fd7c:3f2b:e791:1::1           UGS
> > bce0
> > ::1                               ::1                           UH
> > lo0
> > ::ffff:0.0.0.0/96                 ::1                           UGRS
> > lo0
> > fd7c:3f2b:e791:1::/64             link#1                        U
> > bce0
> > fd7c:3f2b:e791:1::ac13:a0a        link#1                        UHS
> > lo0
> > fd7c:3f2b:e791:1:0:1:ac13:a0a     link#2                        UHS
> > lo0
> > fe80::/10                         ::1                           UGRS
> > lo0
> > fe80::%bce0/64                    link#1                        U
> > bce0
> > fe80::213:72ff:fe60:ac52%bce0     link#1                        UHS
> > lo0
> > fe80::%bce1/64                    link#2                        U
> > bce1
> > fe80::213:72ff:fe60:ac50%bce1     link#2                        UHS
> > lo0
> > fe80::%lo0/64                     link#3                        U
> > lo0
> > fe80::1%lo0                       link#3                        UHS
> > lo0
> > ff01:1::/32                       fe80::213:72ff:fe60:ac52%bce0 U
> > bce0
> > ff01:2::/32                       fd7c:3f2b:e791:1:0:1:ac13:a0a U
> > bce1
> > ff01:3::/32                       ::1                           U
> > lo0
> > ff02::/16                         ::1                           UGRS
> > lo0
> > ff02::%bce0/32                    fe80::213:72ff:fe60:ac52%bce0 U
> > bce0
> > ff02::%bce1/32                    fd7c:3f2b:e791:1:0:1:ac13:a0a U
> > bce1
> > ff02::%lo0/32                     ::1                           U
> > lo0
> >
> >
> > Elmer's rc.config:
> >
> > ipv6_enable="YES"
> > ipv6_network_interfaces="bce0 bce1"
> > ipv6_ifconfig_bce0="FD7C:3F2B:E791:0001::0:172.19.10.10 prefixlen
64"
> > ipv6_ifconfig_bce1="FD7C:3F2B:E791:0001::1:172.19.10.10 prefixlen 64
> > mtu 8192"
> > ipv6_defaultrouter="FD7C:3F2B:E791:0001::1"
> >
> >
> > The router (cisco):
> >
> > interface GigabitEthernet0/0
> >   ipv6 address FD7C:3F2B:E791:1::1/64
> >   ipv6 enable
> >   ipv6 nd prefix FD7C:3F2B:E791:1::/64
> >   (etc)
> >
> >
> > Elmer# tcpdump -nq ip6 and not tcp
> > tcpdump: verbose output suppressed, use -v or -vv for full protocol
> > decode
> > listening on bce0, link-type EN10MB (Ethernet), capture size 96
bytes
> > 13:21:52.819632 IP6 fe80::217:95ff:fe25:5c90 > ff02::1: ICMP6,
router
> > advertisement, length 64
> >
> > _______________________________________________
> > freebsd-net at freebsd.org mailing list
> > http://lists.freebsd.org/mailman/listinfo/freebsd-net
> > To unsubscribe, send any mail to "freebsd-net-
> unsubscribe at freebsd.org"
> _______________________________________________
> freebsd-net at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"


More information about the freebsd-net mailing list