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>