From owner-freebsd-virtualization@FreeBSD.ORG Tue Mar 6 18:32:38 2012 Return-Path: Delivered-To: freebsd-virtualization@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 572BB106564A for ; Tue, 6 Mar 2012 18:32:38 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-we0-f182.google.com (mail-we0-f182.google.com [74.125.82.182]) by mx1.freebsd.org (Postfix) with ESMTP id D3A868FC13 for ; Tue, 6 Mar 2012 18:32:37 +0000 (UTC) Received: by werl4 with SMTP id l4so4312062wer.13 for ; Tue, 06 Mar 2012 10:32:36 -0800 (PST) Received-SPF: pass (google.com: domain of adrian.chadd@gmail.com designates 10.216.138.135 as permitted sender) client-ip=10.216.138.135; Authentication-Results: mr.google.com; spf=pass (google.com: domain of adrian.chadd@gmail.com designates 10.216.138.135 as permitted sender) smtp.mail=adrian.chadd@gmail.com; dkim=pass header.i=adrian.chadd@gmail.com Received: from mr.google.com ([10.216.138.135]) by 10.216.138.135 with SMTP id a7mr4477703wej.19.1331058756929 (num_hops = 1); Tue, 06 Mar 2012 10:32:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=HWnGeawC1kkHCnknS6/Q8NP1Vm1WijPUN+W3MtggbLM=; b=xZ1HiSo/7wSSzt3UkK5sUpNDgBkd8EvpX9PesBiLa8e897qooklGcfpH2z4iubHthz GFPpuJpc3SMWqGdr4/mWD/ZL5tjPuEHHWArp9f3Tp4RLZ/c+bGMtZTBbVLttMzCHUacV Nw8fPFsFZt9soAgo3c1lmcpcf6jIye8aTSj7yAaBItjTBP3A3EHuT4A4baOLXRs+zWOQ brXQf23yH2YwBVG98tyCZLJVw3ww5MQs32V2CMt5NWMZ2r9ABNZcXy61+m5MZXTWY3bY 4A5DZ9q6wKtnd0JDCO3wpvEqTdXcIjNNPECoPdiLiKWl08nF0j7DXKz3UgMeETsZ5nFE ykOA== MIME-Version: 1.0 Received: by 10.216.138.135 with SMTP id a7mr3499645wej.19.1331056871246; Tue, 06 Mar 2012 10:01:11 -0800 (PST) Received: by 10.216.198.81 with HTTP; Tue, 6 Mar 2012 10:01:11 -0800 (PST) In-Reply-To: <201203061633.03446.zec@fer.hr> References: <201203060052.28603.zec@fer.hr> <201203061633.03446.zec@fer.hr> Date: Tue, 6 Mar 2012 10:01:11 -0800 Message-ID: From: Adrian Chadd To: Marko Zec Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Mailman-Approved-At: Tue, 06 Mar 2012 18:51:56 +0000 Cc: freebsd-virtualization@freebsd.org Subject: Re: VIMAGE + kldload wlan + kldload wtap panic X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Mar 2012 18:32:38 -0000 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 wrote: > On Tuesday 06 March 2012 10:53:18 Monthadar Al Jaberi wrote: >> On Tue, Mar 6, 2012 at 12:52 AM, Marko Zec 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