Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 14 Mar 2007 07:48:11 -0700
From:      Luigi Rizzo <rizzo@icir.org>
To:        Yar Tikhiy <yar@comp.chem.msu.su>
Cc:        freebsd-net@freebsd.org
Subject:   Re: Who is to load dummynet.ko?
Message-ID:  <20070314074811.A78933@xorpc.icir.org>
In-Reply-To: <20070314141142.GB3830@comp.chem.msu.su>; from yar@comp.chem.msu.su on Wed, Mar 14, 2007 at 05:11:43PM %2B0300
References:  <20070310153534.GA35834@comp.chem.msu.su> <20070313004543.A54774@xorpc.icir.org> <20070314095725.GA1766@comp.chem.msu.su> <20070314043506.A76618@xorpc.icir.org> <20070314141142.GB3830@comp.chem.msu.su>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Mar 14, 2007 at 05:11:43PM +0300, Yar Tikhiy wrote:
> On Wed, Mar 14, 2007 at 04:35:06AM -0700, Luigi Rizzo wrote:
...
> > actually, i think it is the kernel itself (in the setsockopt handler,
> > once it validates the rule) that should load the module, and not leave
> > the task to the userland utility. Other modules already do this,
> > e.g. iwi loads the firmware autonomously, and maybe even netgraph components
> > do something similar.
> > 
> > For dummynet and divert, this can be surely put in the setsockopt
> > handler which is in ipfw.ko - if you need to autoload ipfw.ko,
> > then i am not sure where to put the hooks (in the kernel) but i am
> > pretty confident that there must be a good place.
> 
> As our fortune file puts it, "If God is dead, who will save the
> Queen?" :-)  We seem to have a sort of a chicken and egg problem

not really.
IP_FW_GET (and other commands) are processed in

	sys/netinet/raw_ip.c::rip_ctloutput()

so it's there that we can try and autoload the module (if ip_fw_ctl_ptr == NULL).

I don't know if there are hooks to autoload a protocol stack,
as some are not modules - no ipv4.ko, ipv6.ko, but there is arcnet.ko,
but you could in principle do the same thing with protocols and anywhere
there is a missing function, annotate it with the functions to
autoload the module supplying it.

	cheers
	luigi



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070314074811.A78933>