From owner-freebsd-net@FreeBSD.ORG Fri Jul 24 04:32:26 2009 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 514C3106566B for ; Fri, 24 Jul 2009 04:32:26 +0000 (UTC) (envelope-from julian@elischer.org) Received: from outA.internet-mail-service.net (outa.internet-mail-service.net [216.240.47.224]) by mx1.freebsd.org (Postfix) with ESMTP id 36BC98FC0C for ; Fri, 24 Jul 2009 04:32:26 +0000 (UTC) (envelope-from julian@elischer.org) Received: from idiom.com (mx0.idiom.com [216.240.32.160]) by out.internet-mail-service.net (Postfix) with ESMTP id 5798EADA67; Thu, 23 Jul 2009 21:32:25 -0700 (PDT) X-Client-Authorized: MaGic Cook1e X-Client-Authorized: MaGic Cook1e Received: from julian-mac.elischer.org (home.elischer.org [216.240.48.38]) by idiom.com (Postfix) with ESMTP id D41592D6017; Thu, 23 Jul 2009 21:32:24 -0700 (PDT) Message-ID: <4A69395B.4020604@elischer.org> Date: Thu, 23 Jul 2009 21:32:27 -0700 From: Julian Elischer User-Agent: Thunderbird 2.0.0.22 (Macintosh/20090605) MIME-Version: 1.0 To: Bob Van Zant References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-net@freebsd.org Subject: Re: IPv6 traffic between two hosts not flowing 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: Fri, 24 Jul 2009 04:32:26 -0000 Bob Van Zant wrote: > I have 2 FreeBSD machines each with 3 ethernet interfaces each with an IPv6 > address. > > Here's a table showing how the two machines are connected. To try to blame > the switch or its configuration I have tried directly connecting the > machines. The results were the same. > > 6.3 4948 6.2 > --- ---- --- > fxp0 em2 > fc00:dada::47 fc00:dada::2 > > bge0 em0 > fc00:dada:1::47 fc00:dada:1::2 > > bge1 em1 > fc00:dada:2::47 fc00:dada:2::2 > > Traffic from fxp0 to em2 works fine. > bge0 to em0 and bge1 to em1 doesn't work as I'll explain below and is the > reason I'm writing to the list. > > > This host is able to communicate with it's IPv6 neighbor over the fxp0 > interface, however, neither of the bge interfaces are able to communicate > with their peers. > > ndp(8) output on the 6.3 machine (with bge interfaces) seems to highlight > something weird. In addition to the errors occurring, the Netif column for > fc00:dada:1::47 shows fxp0. ifconfig shows that address on bge0. The same is > true for fc00:dada:2::47; in ndp it shows up on fxp0 but ifconfig thinks > it's on bge1 (it should be). The linklayer address being "(incomplete)" also > seems weird given that this is a normal ethernet interface on the local > machine. I'm going to guess that if the other connections were disconnected, the 2nd and 3rd pairs would work. I'm also guessing that if you closely look at the data between the 2nd and 3rd pairs you will somewhere see the addresses of the first pair in there. FreeBSD has often suffered when trying to run connections in parallel, even in IPV4. I believe this has been fixed in 8.x to some extent.. > > > $ ndp -an > Neighbor Linklayer Address Netif Expire S > Flags > fc00:dada::2 0:e:c:b4:13:8f fxp0 22h38m10s S R > fc00:dada::47 0:2:b3:e7:4a:56 fxp0 permanent R > ndp: ioctl(SIOCGNBRINFO_IN6): Invalid argument > ndp: failed to get neighbor information > fc00:dada:1::47 (incomplete) fxp0 > ndp: ioctl(SIOCGNBRINFO_IN6): Invalid argument > ndp: failed to get neighbor information > fc00:dada:2::47 (incomplete) fxp0 > fe80::20d:56ff:fe70:a9ae%bge0 0:d:56:70:a9:ae bge0 permanent R > fe80::20d:56ff:fe70:a9af%bge1 0:d:56:70:a9:af bge1 permanent R > fe80::202:b3ff:fee7:4a56%fxp0 0:2:b3:e7:4a:56 fxp0 permanent R > > > Output from ifmcstat looks correct to me (mostly the same as fxp0 but with > the appropriate addresses different). > > I did find this message in the logfile at least once: > > nd6_storelladdr: sdl_alen == 0 > > > If I do a ping6 in between the two hosts and then run tcpdump on either of > the bge interfaces I can see neighbor discovery traffic going back and > forth. but not correct probably or it would be stored in the Link Level tables. > > If the ping is from the bge interface to the corresponding em interface then > all I ever see is the NDP traffic. > > If the ping is from the em interface to the corresponding bge interface then > I see a normal solicitation and advertisement followed by ICMP echo requests > (there are never any replies). The 6.2 machine's ndp cache looks correct. > The 6.3 machine's ndp cache is the one pasted above. > > > I feel like I'm just rambling here and not necessarily putting together a > sane question. If this is making sense to anyone and it isn't immediately > obvious what's going on please ask me some follow up questions. > > In addition to all of this, after what appears to be about an hour of > sending ping packets that go nowhere and pulling interfaces in and out of > promiscuous mode (tcpdump) the system appears to deadlock. I don't have any > proof that it's deadlock other than a completely unresponsive box that needs > to have the power cable removed. It's happened twice so far this afternoon. > > Thanks for reading this far, if you had an 8.x image, you might try it there.. and a 6.2<->6.2 and 6.3<->6.3 boot as well probably the person you want to actually speak with is Qing Li > > Bob > > > _______________________________________________ > freebsd-net@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-net > To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org"