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