From owner-freebsd-wireless@FreeBSD.ORG Sun Mar 2 00:35:37 2014 Return-Path: Delivered-To: freebsd-wireless@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 0D1849A1 for ; Sun, 2 Mar 2014 00:35:37 +0000 (UTC) Received: from mail-qg0-x22b.google.com (mail-qg0-x22b.google.com [IPv6:2607:f8b0:400d:c04::22b]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id BEA9411A0 for ; Sun, 2 Mar 2014 00:35:36 +0000 (UTC) Received: by mail-qg0-f43.google.com with SMTP id f51so7011217qge.2 for ; Sat, 01 Mar 2014 16:35:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=0ObMrT+8juUfXSyPfBPsNKgOlyLqKZ5p+fH9txAGPNk=; b=od/8CP1W8WOSONizNW7cWK9w32e0D70cIhhNWI6V+QpAma/Wa8K7futEiWHRW/AQdv bA+85CvrSHbGE8rRUmjEELwKRBDuOiNNJa262g7hBfeQM/Idz68lUUNyW+a6lG8fO2h2 ShlJRGfm1NNOHUCFYINjvkiHXEFn/KfBHKO4R9bF9rFaleupqGe/xAJ0N/k+DDFpizyE JJC1dn0lrmxtQI9SoXOwaXW2+YrjSVlTlwcOaXm+MM1R87IBDTD3EOaOo8kwV+uDlvvX o0aJOSgnjKQhy0F5ahypWl2bmafi+58cY7H/BX1ICx+mcIrFjTykYvnQt4KgfjK0oG1X ymdQ== MIME-Version: 1.0 X-Received: by 10.224.30.16 with SMTP id s16mr14099723qac.74.1393720535887; Sat, 01 Mar 2014 16:35:35 -0800 (PST) Sender: adrian.chadd@gmail.com Received: by 10.224.16.10 with HTTP; Sat, 1 Mar 2014 16:35:35 -0800 (PST) In-Reply-To: <201403020002.s22021xF031216@maildrop2.v6ds.occnc.com> References: <201403020002.s22021xF031216@maildrop2.v6ds.occnc.com> Date: Sat, 1 Mar 2014 16:35:35 -0800 X-Google-Sender-Auth: -tup2i8dzF4OpacUgxbAzIYuxEc Message-ID: Subject: Re: iwn rtsol on stable/10 with merge from head From: Adrian Chadd To: curtis@ipv6.occnc.com Content-Type: text/plain; charset=ISO-8859-1 Cc: "freebsd-wireless@freebsd.org" X-BeenThere: freebsd-wireless@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "Discussions of 802.11 stack, tools device driver development." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Mar 2014 00:35:37 -0000 Maybe the whole cloned interfaces path isn't setting up the ipv6 flags correctly? -a On 1 March 2014 16:02, Curtis Villamizar wrote: > > In message > Adrian Chadd writes: > >> Hi, >> >> Please grab and try 'iwnstats' from head - tools/tools/iwn/iwnstats - >> it'll be interesting to see what stats are logged when you're in busy >> air. > > Typical WG sessions have 50-200 people. The technical plenary (Monday > evening) and the administrative plenary (Thursday evening) typically > have around 1,000. That's mostly geeks with wifi in their phones plus > their laptops. I'll try to get stats in WG sessions and both plenaries. > >> I have no idea about rtsold, sorry. :( > > I'm not sure the cause but the cure has something to do with this: > > A little RTFC on rtsold/if.c reveals that ND6_IFF_ACCEPT_RTADV is not > set in nd.ndi.flags which comes from the lines: > > if (ioctl(s, SIOCGIFINFO_IN6, (caddr_t)&nd) < 0) { > [...] > } > if (!(nd.ndi.flags & ND6_IFF_ACCEPT_RTADV)) { > > A man ifconfig reveals: > > accept_rtadv > Set a flag to enable accepting ICMPv6 Router > Advertisement messages. The sysctl(8) variable > net.inet6.ip6.accept_rtadv controls whether this flag is > set by default or not. > > So the workaround is to add net.inet6.ip6.accept_rtadv=1 to > /etc/sysctl.conf. A one time test using "ifconfig wlan0 inet6 > accept_rtadv" and restarting rtsold also confirms this is the > problem. > > The mystery is really why this doesn't affect em0 and run0 on the same > machine. I'll have to check and make sure they don't all behave the > same with the same kernel. None of these driveres have the string > rtadv. In sys/dev "grep -il rtadv */*.[hc]" yields nothing. The > string ND6_IFF_ACCEPT_RTADV only appears in sys files in the netinet6 > directory. Reading the code, iwn seems to do what is right with > net.inet6.ip6.accept_rtadv clear and the others (em0, run0, plus msk0 > on another machine, em0 on other machines) have ND6_IFF_ACCEPT_RTADV > set even though net.inet6.ip6.accept_rtadv is not set. > > The entire src/sys tree is from head but the rest of src is stable/10. > >> -a > > I'll try to get the stats next week but it looks like I'll need to > build the src distribution from head to get that done, pulling just > iwnstats from head. Merging tools/tools/iwn/iwnstats into the > stable/10 tree didn't compile. Not a big deal but pressed for time > between now and then. > > Curtis > > >> On 1 March 2014 09:11, Curtis Villamizar wrote: >> > >> > rtsol is not working for my kernel build with iwn but everything else >> > works. >> > >> > I'm running a very recent stable/10 (kernel is 262621) upgraded to >> > pick up iwn stuff from head: >> > >> > svn merge \ >> > https://svn0.us-east.freebsd.org/base/head/sys/dev/iwn \ >> > dev/iwn >> > svn merge \ >> > https://svn0.us-east.freebsd.org/base/head/sys/modules/iwnfw \ >> > modules/iwnfw >> > svn merge >> > https://svn0.us-east.freebsd.org/base/head/sys/contrib/dev/iwn \ >> > contrib/dev/iwn >> > >> > That was to get the Centrino 2000 support from the head branch. >> > >> > That works. >> > >> > iwn0: >> > mem 0xf1c00000-0xf1c01fff irq 17 at device 0.0 on pci3 >> > >> > Everything works as far as I can tell except rtsol. >> > >> > # rtsold -f -d -D wlan0 >> > checking if wlan0 is ready... >> > wlan0 does not accept Router Advertisement. >> > set timer for wlan0 to 1s >> > New timer is 1s >> > timer expiration on wlan0, state = 3 >> > checking if wlan0 is ready... >> > wlan0 does not accept Router Advertisement. >> > set timer for wlan0 to 1s >> > New timer is 1s >> > timer expiration on wlan0, state = 3 >> > checking if wlan0 is ready... >> > wlan0 does not accept Router Advertisement. >> > set timer for wlan0 to 1s >> > New timer is 1s >> > [ ... etc ... ] >> > >> > If I use rtsold -a it sees wlan0 as not ready and doesn't try to use >> > it but then it receives occasional RA anyway but ignores them because >> > it sees wlan0 as not ready. >> > >> > If I ifconfig inet6 ... alias I get an IPv6 address configured and >> > manually add a default route, then everything is fine. This >> > workaround is OK for home but is not practical for roaming about (like >> > going to IETF) if I want IPv6 to work. >> > >> > Does anyone know why rtsold isn't seeing wlan0 as ready? Is there any >> > info I could provide? How likely is it that will a kernel built from >> > head this would just go away and rtsold would just work. >> > >> > btw- headed for IETF so I'll have a chance to test iwn in a very busy >> > environment and would be willing to help if anyone wants to do that >> > sort of debugging. [I have a usb wlan (run0) as a fallback] >> > >> > Curtis