From owner-freebsd-virtualization@FreeBSD.ORG Thu Feb 3 11:20:08 2011 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 031EE1065673 for ; Thu, 3 Feb 2011 11:20:08 +0000 (UTC) (envelope-from bzeeb-lists@lists.zabbadoz.net) Received: from mail.cksoft.de (mail.cksoft.de [IPv6:2001:4068:10::3]) by mx1.freebsd.org (Postfix) with ESMTP id 89BB88FC16 for ; Thu, 3 Feb 2011 11:20:07 +0000 (UTC) Received: from localhost (amavis.fra.cksoft.de [192.168.74.71]) by mail.cksoft.de (Postfix) with ESMTP id BEB1541C7A5; Thu, 3 Feb 2011 12:20:06 +0100 (CET) X-Virus-Scanned: amavisd-new at cksoft.de Received: from mail.cksoft.de ([192.168.74.103]) by localhost (amavis.fra.cksoft.de [192.168.74.71]) (amavisd-new, port 10024) with ESMTP id doskVVNEYUl8; Thu, 3 Feb 2011 12:20:05 +0100 (CET) Received: by mail.cksoft.de (Postfix, from userid 66) id D736C41C707; Thu, 3 Feb 2011 12:20:05 +0100 (CET) Received: from maildrop.int.zabbadoz.net (maildrop.int.zabbadoz.net [10.111.66.10]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.int.zabbadoz.net (Postfix) with ESMTP id CC1FC4448F3; Thu, 3 Feb 2011 11:18:36 +0000 (UTC) Date: Thu, 3 Feb 2011 11:18:36 +0000 (UTC) From: "Bjoern A. Zeeb" X-X-Sender: bz@maildrop.int.zabbadoz.net To: Monthadar Al Jaberi In-Reply-To: Message-ID: <20110203111206.S80258@maildrop.int.zabbadoz.net> References: <4D484213.6050100@freebsd.org> <4D486108.5060805@freebsd.org> <20110202164827.I80258@maildrop.int.zabbadoz.net> <4D4994CE.2090209@freebsd.org> <4D49AB29.7070909@freebsd.org> <20110203095019.N80258@maildrop.int.zabbadoz.net> <20110203105747.K80258@maildrop.int.zabbadoz.net> X-OpenPGP-Key: 0x14003F198FEFA3E77207EE8D2B58B8F83CCF1842 MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="0-689080525-1296731916=:80258" Cc: FreeBSD virtualization mailing list Subject: Re: simulating wireless device (if_alloc panic, VirtualBox, VIMAGE) 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: Thu, 03 Feb 2011 11:20:08 -0000 This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --0-689080525-1296731916=:80258 Content-Type: TEXT/PLAIN; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: QUOTED-PRINTABLE On Thu, 3 Feb 2011, Monthadar Al Jaberi wrote: > On Thu, Feb 3, 2011 at 11:59 AM, Bjoern A. Zeeb > wrote: >> On Thu, 3 Feb 2011, Monthadar Al Jaberi wrote: >> >>>>>> I don't understand why you saw a CRED_TO_VNET of 0 >>>>>> I was under the impression that every process/thread in the system >>>>>> would >>>>>> be >>>>>> on vnet0 >>>>>> in a vimage kernel. >>>>> >>>>> This is how my printf looks like: >>>>> struct thread *td =3D curthread; >>>>> struct vnet *v =3D TD_TO_VNET(td); >>>>> struct ucred *cred =3D CRED_TO_VNET(td->ucred); >>>>> struct vnet *td_vnet =3D td->td_vnet; >>>> >>>> here's your problem: >>>> >>>> strcut vnet *vnet =3D cred->cr_prison->pr_vnet; >>> >>> When I add CURVNET_SET(CRED_TO_VNET(curthread->td_ucred)); I get a pani= c >>> too... >>> But your suggestion works if I do like this: >>> curthread->td_vnet =3D curthread->td_ucred->cr_prison->pr_vnet; >>> >>> CRED_TO_VNET(curthread->td_ucred) returns NULL >> >> I wonder how you are building your module and if VIMAGE is properly >> defined. =A0If it's not that would explain a lot of things. > > I have put options VIMAGE, rebuild both world and kernel. > > I can create jails with vnet options... > > I build my module with the standard Makefile for modules: > ... > KMOD =3D wtap > ... > SRCS =3D if_wtap_module.c if_wtap.c if_medium.c hal.c > > .include Right but are you building your module along with the kernel or outside the tree? In the latter case you may want to add soemthing like SRCS+=3D opt_global.h =2Eif defined(KERNBUILDDIR) MKDEP=3D -include ${KERNBUILDDIR}/opt_global.h =2Eelse CFLAGS+=3D -include opt_global.h MKDEP=3D -include opt_global.h opt_global.h: echo "#define VIMAGE 1" > ${.TARGET} =2Eendif and/or point KERNBUILDDIR to where you built your kernels. >> >> >>>>> printf("td=3D%p, td->td_vnet=3D%p, td->td_ucred=3D%p, TD_TO_VNET=3D%p= , >>>>> CRED_TO_VNET=3D%p\n", td, td_vnet, td->td_ucred, v, cred); >>>>> >>>>> I made a fast search in /usr/src for "td_vnet" and found it was >>>>> assigned only in >>>>> int fork1(td, flags, pages, procp): >>>>> #ifdef VIMAGE >>>>> =A0 =A0 =A0 =A0td2->td_vnet =3D NULL; >>>>> =A0 =A0 =A0 =A0td2->td_vnet_lpush =3D NULL; >>>>> #endif >>>> >>>> Nice try. =A0Want another search? =A0Hint: there is this in vnet.h: >>>> >>>> #define curvnet curthread->td_vnet >>>> >>>> And then you'll, again, find the CURVNET_SET_* macros. >>> >>> Thank you >> >> Something you may find useful as well btw is: >> >> http://people.freebsd.org/~bz/20100530-02.vnet.9.html > > weired compiler complains about that there is no , I > include maybe old documentation? it's net/vnet.h. Documentation bug from a local transisiton time to the general framework. Thanks for catching;) net/vnet.h will obviously stay. --=20 Bjoern A. Zeeb You have to have visions! Going to jail sucks -- All my daemons like it! http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/jails.html --0-689080525-1296731916=:80258--