Skip site navigation (1)Skip section navigation (2)
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>