Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 6 Mar 2012 10:01:11 -0800
From:      Adrian Chadd <adrian.chadd@gmail.com>
To:        Marko Zec <zec@fer.hr>
Cc:        freebsd-virtualization@freebsd.org
Subject:   Re: VIMAGE + kldload wlan + kldload wtap panic
Message-ID:  <CAJ-VmomY7ipsvok1pACjPU-Y933uTTiZ5-6EZG0B=Ofw226owg@mail.gmail.com>
In-Reply-To: <201203061633.03446.zec@fer.hr>
References:  <CA%2BsBSo%2Bt=p0HLbyOH87DOJWWYn%2Be%2Bok7cwRiL1c1=gCw5=KTqg@mail.gmail.com> <201203060052.28603.zec@fer.hr> <CA%2BsBSoJJbsrCCp-GzZOJU-gMjDYsM4UX0fj5no-5%2BazThq0_Kg@mail.gmail.com> <201203061633.03446.zec@fer.hr>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi,

What do we need to do to get VNET working in net80211 and the network drive=
rs?


Adrian

On 6 March 2012 07:33, Marko Zec <zec@fer.hr> wrote:
> On Tuesday 06 March 2012 10:53:18 Monthadar Al Jaberi wrote:
>> On Tue, Mar 6, 2012 at 12:52 AM, Marko Zec <zec@fer.hr> wrote:
>> > On Monday 05 March 2012 22:14:45 Monthadar Al Jaberi wrote:
>> >> Hi,
>> >>
>> >> I am a very happy VIMAGE user. But lately I have been having problems
>> >> using it, and its too complicated for me to dig in so I hope you can
>> >> help me (and help Adrian too).
>> >>
>> >> I am using FreeBSD Current with a kernel config without wlan module
>> >> and wireless devices =A0attach kernel config.
>> >>
>> >> uname -a shows:
>> >> FreeBSD acke 10.0-CURRENT FreeBSD 10.0-CURRENT #2: Mon Mar =A05 20:02=
:38
>> >> CET 2012 =A0 =A0 root@acke:/usr/obj/usr/src/sys/VNET_without_wlan =A0=
amd64
>> >>
>> >> I run the following commands:
>> >> cd /usr/sys/module/wlan
>> >> make load
>> >> cd /usr/sys/modules/wtap
>> >> make load
>> >>
>> >> then:
>> >> /usr/src/ools/tools/wtap/wtap/wtap c 0
>> >> ifconfig wlan create wlandev wtap0 wlanmode mesh
>> >> wlandebug -i wlan0 hwmp+mesh+output+input+inact
>> >> ifconfig wlan0 meshid mymesh
>> >> ifconfig wlan0 inet 192.168.2.1
>> >>
>> >> and freebsd panics with:
>> >> Mon Mar =A05 21:17:46 CET 2012
>> >> Mar =A05 21:59:23 acke login: ROOT LOGIN (root) ON ttyv0
>> >> Using visibility wtap plugin...
>> >> Loaded wtap wireless simulator
>> >> wtap0: ieee80211_radiotap_attach: no tx channel, radiotap 0x0wtap0:
>> >> ieee80211_radiotap_attach: no rx channel, radiotap 0x0wlan0: Ethernet
>> >> address: 00:98:9a:98:96:97
>> >> wlan0: ieee80211_start: ignore queue, in SCAN state
>> >> wlan0: [00:98:9a:98:96:97] ieee80211_alloc_node: inact_reload 2
>> >> Kernel page fault with the following non-sleepable locks held:
>> >> exclusive sleep mutex wtap0_com_lock (wtap0_com_lock) r =3D 0
>> >> (0xffffff8002395018) locked @
>> >> /usr/src/sys/modules/wlan/../../net80211/ieee80211_proto.c:1937
>> >> KDB: stack backtrace:
>> >> db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
>> >> kdb_backtrace() at kdb_backtrace+0x37
>> >> _witness_debugger() at _witness_debugger+0x2c
>> >> witness_warn() at witness_warn+0x2c4
>> >> trap() at trap+0x2fe
>> >> calltrap() at calltrap+0x8
>> >> --- trap 0xc, rip =3D 0xffffffff80885d0c, rsp =3D 0xffffff80003e9a00,=
 rbp
>> >> =3D 0xffffff80003e9a20 ---
>> >> rt_dispatch() at rt_dispatch+0x2c
>> >> rt_ieee80211msg() at rt_ieee80211msg+0x7f
>> >> scan_task() at scan_task+0x4cd
>> >> taskqueue_run_locked() at taskqueue_run_locked+0x93
>> >> taskqueue_thread_loop() at taskqueue_thread_loop+0x3e
>> >
>> > It may be that scan_task() calls further down into the network stack
>> > without setting curvnet first.
>>
>> I added CURVNET_SET(TD_TO_VNET(curthread))/CURVNET_RESTORE() in
>> scan_task but it didnt help
>
> scan_task() is called from a taskqueue trampoline which doesn't have a va=
lid
> TD_TO_VNET(curthread) context, so what you attempted to do can't work. =
=A0You
> need to set curvnet context to the one to which the network interface (or=
 a
> packet) you're working with belongs to. =A0Perhaps you could use
>
> (struct ieee80211_scan_state *) ss->ss_vap->iv_ifp->if_curvnet
>
> in scan_task() to set curvnet, but having no clue on how the 80211 code w=
orks,
> I might be wrong...
>
> And maybe you could consider rebuilding your kernel with options VNET_DEB=
UG
> turned on - that should more verbosely point to the problem at hand, whil=
e
> not introducing too big a performance penalty at runtime.
>
> Good luck,
>
> Marko



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-VmomY7ipsvok1pACjPU-Y933uTTiZ5-6EZG0B=Ofw226owg>