From owner-freebsd-net@FreeBSD.ORG Wed Apr 6 23:07:38 2011 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 558C4106566B for ; Wed, 6 Apr 2011 23:07:38 +0000 (UTC) (envelope-from pb@fasterix.frmug.org) Received: from fasterix.frmug.org (unknown [IPv6:2a01:e35:8b50:2c40::2]) by mx1.freebsd.org (Postfix) with ESMTP id D191E8FC0C for ; Wed, 6 Apr 2011 23:07:37 +0000 (UTC) Received: from fasterix.frmug.org (localhost [127.0.0.1]) by fasterix.frmug.org (8.14.4/8.14.3) with ESMTP id p36N7XxB003909 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Thu, 7 Apr 2011 01:07:33 +0200 (CEST) (envelope-from pb@fasterix.frmug.org) Received: (from pb@localhost) by fasterix.frmug.org (8.14.4/8.14.4/Submit) id p36N7SRr003908 for freebsd-net@freebsd.org; Thu, 7 Apr 2011 01:07:28 +0200 (CEST) (envelope-from pb) Date: Thu, 7 Apr 2011 01:07:25 +0200 From: Pierre Beyssac To: freebsd-net@freebsd.org Message-ID: <20110406230645.GA3325@fasterix.frmug.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-message-flag: Warning! Use of Microsoft Outlook is dangerous and makes your system susceptible to worms and viruses User-Agent: Mutt/1.5.21 (2010-09-15) Subject: IPv6 neighbor discovery bug in HEAD X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 06 Apr 2011 23:07:38 -0000 Hello, It looks like IPv6 neighbor discovery, due to recent changes, doesn't work correctly for me on HEAD. I don't fully understand the nature of the problem (which obviously results in connectivity problems with neighboring hosts), but the most obvious symptom is missing ethernet addresses in Neighbor Advertisement packets (which might come from interpreting a "MAY be omitted" in RFC 2461 7.2.4 as a MUST), perhaps because the sending code wrongly assumes the receiving end already has knowledge of the ethernet address that's being looked-up. I only have 1 -current machine so I can only say that the bug may be triggered by it having multiple IPv6 addresses used for jails, as below: re0: flags=8843 metric 0 mtu 1500 options=389b ether 00:1c:c0:c3:40:e9 inet 193.56.58.97 netmask 0xfffffff0 broadcast 193.56.58.111 inet6 fe80::21c:c0ff:fec3:40e9%re0 prefixlen 64 scopeid 0x1 inet6 2a01:e35:8b50:2c40::2 prefixlen 64 inet 192.168.0.2 netmask 0xffffff00 broadcast 192.168.0.255 inet 192.168.0.4 netmask 0xffffffff broadcast 192.168.0.4 inet6 2a01:e35:8b50:2c40::4 prefixlen 128 inet 192.168.0.3 netmask 0xffffffff broadcast 192.168.0.3 inet6 2a01:e35:8b50:2c40::3 prefixlen 128 inet 192.168.0.6 netmask 0xffffffff broadcast 192.168.0.6 inet6 2a01:e35:8b50:2c40::6 prefixlen 128 nd6 options=21 media: Ethernet autoselect (1000baseT ) status: active Example incomplete packet: 23:19:18.702622 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 24) 2a01:e35:8b50:2c40::6 > 2a01:e35:8b50:2c40::7: [icmp6 sum ok] ICMP6, neighbor advertisement, length 24, tgt is 2a01:e35:8b50:2c40::4, Flags [router, solicited] I've tried various tricks like forcing tlladdr to 1 in nd6_nbr.c, to no avail... Any help appreciated :-) -- Sent from my FreeBSD server Pierre Beyssac pb@fasterix.frmug.org