adding if_dev member to struct ifnet

John Baldwin jhb at FreeBSD.org
Tue Sep 30 07:33:48 PDT 2003


On 30-Sep-2003 Poul-Henning Kamp wrote:
> In message <200309301045.15776.vjardin at wanadoo.fr>, Vincent Jardin writes:
>>Le Mardi 30 Septembre 2003 03:03, Brooks Davis a écrit :
>>> [Previously posted to -net in another form.]
>>>
>>> I propose to add an if_dev member to struct ifnet.  It would be of type
>>> device_t and be defined to point to the device for the interface or NULL
>>> if there is no device (or if there was not an easy way to get access to
>>> one).
>>>
>>> This change would codify the the relationship between an interface and
>>> the underlying physical device.  It also would get rid of the existing
>>> abuses of if_name to look up the driver associated with an interface
>>> and simplify a number of messy cases in the conversion from if_unit and
>>> if_name to if_xname.
>>>
>>> Does this seem like a reasonable thing to do?
>>
>>Yes, if it helps to remove if_name/if_unit, it is a thing to do. Moreover it 
>>sounds a good idea to have the if_dev field into the ifnet structure.
> 
> Somebody please explain how this would work for non-hardware
> interfaces like if_loop, if_tun, if_tap etc ?
> 
> device_t is what we use to hitch drivers to hardware.
> 
> ifnet is what we use to hitch drivers to the netstack.  
> 
> They should not be tangled.

You mean like dev_t and device_t shouldn't be tangled like we do
with si_drv1?  Oh, wait...

-- 

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


More information about the freebsd-net mailing list