Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Sep 2003 14:23:02 -0400 (EDT)
From:      John Baldwin <jhb@FreeBSD.org>
To:        Brooks Davis <brooks@one-eyed-alien.net>
Cc:        net@freebsd.org
Subject:   Re: adding if_dev member to struct ifnet
Message-ID:  <XFMail.20030930142302.jhb@FreeBSD.org>
In-Reply-To: <20030930174815.GC31908@Odin.AC.HMC.Edu>

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

On 30-Sep-2003 Brooks Davis wrote:
> On Tue, Sep 30, 2003 at 01:14:39PM -0400, John Baldwin wrote:
>> 
>> Fair enough.  I think that Brooks planned to use a NULL device_t for
>> interfaces w/o a backing new-bus device.  However, that means you
>> still need if_name for all the non-newbus devices, so this seems
>> somewhat pointless if if_name is the only reason.  Another counterpoint
>> is that the new-bus namespace and the netif namespace aren't the same
>> anyway and that seemed to be the point of this linkage.  The
>> dev_t <> softc <> device_t linkages aren't about unifying namespaces.
> 
> The idea here is that virtually all uses of if_name/if_unit that aren't
> just there for the users benefit are actually references to the
> underlying driver not name of the interface.  Currently they are the
> same (i.e. ifname is nearly always device_get_name(dev) or a bug prone
> manual version there of), but I would like to separate them so we can
> rename interfaces.
> 
> Since device_t is as close to a repository of driver/instance
> information as we've got, I though using it would be a reasonable way
> to go.  As a side benefit, most drivers have a copy of it in their softc
> already so you'd have a standard place to put it.
> 
> I suppose a usable alternative would be to revive if_name and if_unit
> as something like if_drvname and if_drvunit.

Are these uses all within the driver itself?  If so, then just giving
ifnet a void * that is private to the driver would allow ifnet devices
hung off of new-bus devices to cache their device_t w/o requiring the
rest of the kernel to know what that private variable is.

-- 

John Baldwin <jhb@FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/



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