Date: Fri, 24 Jul 2009 18:30:52 GMT From: Alex Hayward <xelah-freebsdpr@xelah.com> To: freebsd-gnats-submit@FreeBSD.org Subject: kern/137089: lagg falsely triggers IPv6 duplicate address detection Message-ID: <200907241830.n6OIUqkE094703@www.freebsd.org> Resent-Message-ID: <200907241840.n6OIe131018666@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 137089 >Category: kern >Synopsis: lagg falsely triggers IPv6 duplicate address detection >Confidential: no >Severity: serious >Priority: high >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Fri Jul 24 18:40:01 UTC 2009 >Closed-Date: >Last-Modified: >Originator: Alex Hayward >Release: 7.2-RC2 >Organization: >Environment: FreeBSD db2.xxxxxxxxxxx 7.2-RC2 FreeBSD 7.2-RC2 #6: Tue Apr 28 20:43:30 BST 2009 alex@db2.xxxxxxxxx:/usr/obj/usr/src/sys/DB2 amd64 >Description: When an IPv6 alias is added to a lagg interface one duplicate address detection ICMP neighbour solicitation message is sent from each interface forming the link. The kernel then thinks that the address is a duplicate when it isn't. This does not happen when only one physical interface is being used. >How-To-Repeat: [root@db2 /usr/home/alex]# jobs [2]- Running tail -f /var/log/messages & [3]+ Running tcpdump -vnpi lagg1 icmp6 & [root@db2 /usr/home/alex]# ifconfig lagg1 lagg1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM> ether 00:15:60:0a:4d:9a inet6 fe80::214:38ff:fe51:5da0%lagg1 prefixlen 64 scopeid 0x6 inet 10.10.10.11 netmask 0xffffff00 broadcast 10.10.10.255 inet6 fda8:48b8:b52c:1::b prefixlen 120 media: Ethernet autoselect status: active laggproto lacp laggport: bge3 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING> [root@db2 /usr/home/alex]# [root@db2 /usr/home/alex]# [root@db2 /usr/home/alex]# ifconfig lagg1 inet6 fda8:48b8:b52c:3::b prefixlen 120 alias [root@db2 /usr/home/alex]# [root@db2 /usr/home/alex]# 19:06:54.716072 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 24) :: > ff02::1:ff00:b: [icmp6 sum ok] ICMP6, neighbor so licitation, length 24, who has fda8:48b8:b52c:3::b [root@db2 /usr/home/alex]# [root@db2 /usr/home/alex]# [root@db2 /usr/home/alex]# ifconfig lagg1 lagg1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM> ether 00:15:60:0a:4d:9a inet6 fe80::214:38ff:fe51:5da0%lagg1 prefixlen 64 scopeid 0x6 inet 10.10.10.11 netmask 0xffffff00 broadcast 10.10.10.255 inet6 fda8:48b8:b52c:1::b prefixlen 120 inet6 fda8:48b8:b52c:3::b prefixlen 120 media: Ethernet autoselect status: active laggproto lacp laggport: bge3 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING> [root@db2 /usr/home/alex]# ifconfig lagg1 inet6 fda8:48b8:b52c:3::b prefixlen 120 -alias [root@db2 /usr/home/alex]# ifconfig lagg1 laggport bge1 [root@db2 /usr/home/alex]# ifconfig lagg1 lagg1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM> ether 00:15:60:0a:4d:9a inet6 fe80::214:38ff:fe51:5da0%lagg1 prefixlen 64 scopeid 0x6 inet 10.10.10.11 netmask 0xffffff00 broadcast 10.10.10.255 inet6 fda8:48b8:b52c:1::b prefixlen 120 media: Ethernet autoselect status: active laggproto lacp laggport: bge1 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING> laggport: bge3 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING> [root@db2 /usr/home/alex]# ifconfig lagg1 inet6 fda8:48b8:b52c:3::b prefixlen 120 alias [root@db2 /usr/home/alex]# 19:12:04.364760 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 24) :: > ff02::1:ff00:b: [icmp6 sum ok] ICMP6, neighbor so licitation, length 24, who has fda8:48b8:b52c:3::b 19:12:04.364826 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 24) :: > ff02::1:ff00:b: [icmp6 sum ok] ICMP6, neighbor solicitation, length 24, who has fda8:48b8:b52c:3::b Jul 24 19:12:05 db2 kernel: lagg1: DAD detected duplicate IPv6 address fda8:48b8:b52c:3::b: NS in/out=1/1, NA in=0 Jul 24 19:12:05 db2 kernel: lagg1: DAD complete for fda8:48b8:b52c:3::b - duplicate found Jul 24 19:12:05 db2 kernel: lagg1: manual intervention required [root@db2 /usr/home/alex]# ifconfig lagg1 lagg1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM> ether 00:15:60:0a:4d:9a inet6 fe80::214:38ff:fe51:5da0%lagg1 prefixlen 64 scopeid 0x6 inet 10.10.10.11 netmask 0xffffff00 broadcast 10.10.10.255 inet6 fda8:48b8:b52c:1::b prefixlen 120 inet6 fda8:48b8:b52c:3::b prefixlen 120 duplicated media: Ethernet autoselect status: active laggproto lacp laggport: bge1 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING> laggport: bge3 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING> >Fix: Not really a fix, of course: [root@db2 /usr/home/alex]# ifconfig lagg1 inet6 fda8:48b8:b52c:3::b prefixlen 120 -alias [root@db2 /usr/home/alex]# ipfw add 50 deny icmp6 from any to any 00050 deny ipv6-icmp from any to any [root@db2 /usr/home/alex]# [root@db2 /usr/home/alex]# ifconfig lagg1 inet6 fda8:48b8:b52c:3::b prefixlen 120 alias [root@db2 /usr/home/alex]# ipfw delete 50 [root@db2 /usr/home/alex]# [root@db2 /usr/home/alex]# ifconfig lagg lagg1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM> ether 00:15:60:0a:4d:9a inet6 fe80::214:38ff:fe51:5da0%lagg1 prefixlen 64 scopeid 0x6 inet 10.10.10.11 netmask 0xffffff00 broadcast 10.10.10.255 inet6 fda8:48b8:b52c:1::b prefixlen 120 inet6 fda8:48b8:b52c:3::b prefixlen 120 media: Ethernet autoselect status: active laggproto lacp laggport: bge1 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING> laggport: bge3 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING> >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200907241830.n6OIUqkE094703>