control of order of inet devices

Brooks Davis brooks at freebsd.org
Mon Aug 12 09:24:31 UTC 2013


On Mon, Aug 05, 2013 at 11:16:03AM +0200, Willy Offermans wrote:
> Hello Brooks,
> 
> On Wed, Apr 17, 2013 at 03:01:27PM -0500, Brooks Davis wrote:
> > On Wed, Apr 17, 2013 at 04:27:44AM -0500, Joshua Isom wrote:
> > > On 4/17/2013 4:14 AM, Willy Offermans wrote:
> > > > This is what I read in some of the articles or handbook as well. Can I
> > > > reorder this linked list? Can I control the order by creating the kernel
> > > > and reordering the inclusion of the device drivers?
> > > >
> > > > I am aware that the request sounds silly, but I have a third party program
> > > > which checks its licence against the first inet device. Since I have added
> > > > a new inet controller, the sequence has changed. Of course I ask for a new
> > > > licence, but they want to charge me for that and I do not see any reason
> > > > for that.
> > > 
> > > Load old inet devices like normal, in loader.conf.  Then load the new 
> > > device driver before networking, after rc's started.  If it'd because of 
> > > probe order, then you might just have to control the probe order the 
> > > hard way.  If the program's calling ifconfig itself, you could write a 
> > > wrapper to resort the output.  And call a lawyer, getting a new ethernet 
> > > card shouldn't void a license.
> > 
> > It wouldn't be particularly hard to influence the sorting of the list if
> > you're willing to modify the if_attach_internal() function and always
> > insert devices with that name at the beginning.  It just doesn't seem
> > very general purpose so I'd have a hard time considering including it.
> > 
> > -- Brooks
> 
> I see und subscribe to your point. However it is not clear to me how the
> order is established. Maybe if I know that, I can influence the order. Can
> you comment on that?

The order is simply the order the devices probe in.  That's basicaly a
black box with the order set by the bus hierarchy.

> Where can I find the code for the if_attach_internal() function? Digging
> into the code might also elucidate a lot of things, so I need to ask less
> :). Maybe I will change the code a bit to suite my wishes. If that is the
> case, I will inform the list and show the code. Maybe it is useful.

sys/net/if.c around line 586.

-- Brooks
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 188 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-current/attachments/20130812/7cd12b14/attachment.sig>


More information about the freebsd-current mailing list