Date: Thu, 15 Jan 2009 13:15:53 +0200 From: "Yony Yossef" <yonyossef.lists@gmail.com> To: <rea-fbsd@codelabs.ru>, "Yony Yossef" <yonyossef.lists@gmail.com> Cc: Liran Liss <liranl@mellanox.co.il>, freebsd-net@freebsd.org, Oleg Kats <oleg@mellanox.co.il>, "'H.fazaeli'" <fazaeli@sepehrs.com>, 'Julian Elischer' <julian@elischer.org>, Eitan Shefi <eitans@mellanox.co.il>, freebsd-questions@freebsd.org Subject: RE: howto determine network device unit number? device.hints? Message-ID: <001701c97702$a301bd90$220f000a@mtl.com> In-Reply-To: <qVxVwbVAOAXlJ93LFuFQfo4p/WU@HEwlnNW4tuDdZ1V6ihYwW3pQ/cw> References: <20def4870901140009y1f007108y92797d5f79ffac08@mail.gmail.com> <496E11B7.3010608@sepehrs.com> <000b01c9768e$745aa160$220f000a@mtl.com> <496EF30E.4010304@sepehrs.com> <000c01c976ec$87e040b0$220f000a@mtl.com> <496EF849.7040909@elischer.org> <001501c976f3$5d7a81d0$220f000a@mtl.com> <qVxVwbVAOAXlJ93LFuFQfo4p/WU@HEwlnNW4tuDdZ1V6ihYwW3pQ/cw>
next in thread | previous in thread | raw e-mail | index | archive | help
> -----Original Message-----
> From: rea-fbsd@codelabs.ru [mailto:rea-fbsd@codelabs.ru]
> Sent: Thursday, January 15, 2009 12:01 PM
> To: Yony Yossef
> Cc: 'Julian Elischer'; Liran Liss; freebsd-net@freebsd.org;
> Oleg Kats; 'H.fazaeli'; Eitan Shefi; freebsd-questions@freebsd.org
> Subject: Re: howto determine network device unit number? device.hints?
>
> 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?
My device has 2 ports, therefore my if_initname is that:
if_initname(dev, device_get_name(mdev->pdev),
port + 2 * device_get_unit(mdev->pdev));
> > 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
This is what I captured the last time it happened.
# pciconf -l | grep mtnic
mtnic0@pci0:19:0:0: class=0x020000 card=0x001715b3 chip=0x636815b3
rev=0xa0 hdr=0x00
mtnic1@pci0:16:0:0: class=0x020000 card=0x001715b3 chip=0x636815b3
rev=0xa0 hdr=0x00
# kldunload if_mtnic
# kldload if_mtnic
# pciconf -l | grep mtnic
mtnic1@pci0:19:0:0: class=0x020000 card=0x001715b3 chip=0x636815b3
rev=0xa0 hdr=0x00
mtnic0@pci0:16:0:0: class=0x020000 card=0x001715b3 chip=0x636815b3
rev=0xa0 hdr=0x00
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?001701c97702$a301bd90$220f000a>
