Thread (9 messages) 9 messages, 5 authors, 2013-06-10

Re: [RFC PATCH] Initialize dev_id sysfs attribute to -1 by default

From: John Fastabend <john.fastabend@gmail.com>
Date: 2013-06-07 17:15:39

On 06/07/2013 08:23 AM, Ben Hutchings wrote:
On Fri, 2013-06-07 at 07:45 -0700, John Fastabend wrote:
quoted
On 5/31/2013 5:17 AM, Narendra_K@Dell.com wrote:
quoted
On Thu, May 30, 2013 at 07:08:46PM +0530, Bjørn Mork wrote:
quoted
[off-list ref] writes:
quoted
From: Narendra K <redacted>

'dev_id' sysfs attribute is initialized to zero by default.
It is also zero based. This creates ambiguity in differentiating
whether the driver set it to zero or it is the default value.
Initialize 'dev_id' to -1 to make the scenario unambiguous.
I understand your concern, but I don't think you can do this.  It
changes the userspace API, and has some very visible side effects.

Please take a look at net/ipv6/addrconf.c
Ok, thank you for pointing it. I missed it while looking for its
possible use scenarios.
Although I'm not sure how that check works with devices that are
setting dev_id and also provide their own mac addresses. From
inspection it looks like these devices end up with a local interface
identifier unnecessarily.

Maybe Ben knows one of the drivers is the siena solorflare controller
apparently for the SFC9000 family? The other two 'grep' finds are
an mlx and chelsio device.

Interestingly I didn't find any devices setting dev_id that also
didn't program unique mac addresses. Perhaps I'm missing something?
I set this for Siena so that userland can tell which PF and port is
which even if the PCIe topology is hidden by virtualisation.  In
practice we haven't made use of that (and since virtualisation may also
hide the VPD and serial number capabilities, it probably doesn't help
much).

Ben.
I guess then to make dev_id work like Narendra wants you would need
something in the management stack to come through and assign unique
dev_id values to functions (net_devices) that share a MAC. Or have some
unique 'unsigned short' value in the driver that it could be set to.
I guess I miss why initializing it to -1 helps.

Still best I can tell your ipv6 identifiers are not going to have
the 'u' bit inverted creating a somewhat strange side effect from
setting the dev_id.

.John



-- 
John Fastabend         Intel Corporation
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help