On Wed, 2010-05-26 at 02:16 -0700, David Miller wrote:
> From: Eli Cohen <e...@dev.mellanox.co.il>
> Date: Wed, 26 May 2010 12:08:52 +0300
> 
> > So if I understand you correctly, you think that I should not bother
> > to set a default value of 1. Each driver that cares about the value
> > of this field, will set it however they want.
> 
> I actually mean that the value "0" should mean the first port,
> the value "1" should mean the second port, etc.

There's a compatibility problem here though: when user-space looks at
this number it can't tell whether "0" really means the first port or
that the driver isn't setting dev_id.  In order to tell that it would
have to check the driver or kernel version too, and this is really nasty
(what if the driver was backported?).  So I think that 1-based numbering
for drivers that previously didn't set dev_id.

Why does this matter?  I'm maintaining the firmware update program for
Solarflare NICs under Linux.  Some of the firmware it updates is
per-port and some of it is per-board.  It needs to be able to tell which
net and PCI devices are associated with the same board.  At the moment
it works on the basis of PCI addresses, but this is unreliable in the
presence of virtualisation.  It would be better to use board serial
number and the port identifier that I just changed the driver to use,
but since there are existing driver versions always leave dev_id = 0, I
it needs to be able to tell whether dev_id is meaningful.

Ben.

-- 
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to