howto determine network device unit number? device.hints?

Eygene Ryabinkin rea-fbsd at codelabs.ru
Thu Jan 15 02:21:13 PST 2009


Yony, good day.

Thu, Jan 15, 2009 at 11:26:34AM +0200, Yony Yossef wrote:
> All I'm doing is unloading and reloading the driver.
> Unit numbers change and it makes my automatic subnet configuration
> (/etc/rc.conf) assign bad IPs.

You're using your own driver, aren't you?  If yes, could you show your
device_method_t structure and the corresponding identify, probe, attach
and detach routines?  You're setting the unit numbers via
'if_initname(ifp, device_get_name(dev), device_get_unit(dev))' or alike?

> I still don't get the reason for this arbitrarily assigned unit numbers and
> what is the common solution for it. Except post load rename of the
> interfaces.

I was under impression that the unit number are coming from the parent
busses and they should be stable, at least for the case when the parent
bus driver isn't unloaded (and for PCI it should be the case).  So,
either the driver sets device unit names weirdly or you hit some bug.
-- 
Eygene
 _                ___       _.--.   #
 \`.|\..----...-'`   `-._.-'_.-'`   #  Remember that it is hard
 /  ' `         ,       __.--'      #  to read the on-line manual
 )/' _/     \   `-_,   /            #  while single-stepping the kernel.
 `-'" `"\_  ,_.-;_.-\_ ',  fsc/as   #
     _.-'_./   {_.'   ; /           #    -- FreeBSD Developers handbook
    {_.-``-'         {_/            #


More information about the freebsd-questions mailing list