Thread (5 messages) flat view 5 messages, 3 authors, 2016-06-02

RE: [PATCH] r8152: Add support for setting MAC to system's Auxiliary MAC address

From: <hidden>
Date: 2016-06-02 18:28:38
Also in: lkml

-----Original Message-----
From: Bjørn Mork [mailto:bjorn@mork.no]
Sent: Thursday, June 2, 2016 1:04 PM
To: Limonciello, Mario <redacted>
Cc: gregkh@linuxfoundation.org; hayeswang@realtek.com; linux-
kernel@vger.kernel.org; netdev@vger.kernel.org; linux-
usb@vger.kernel.org; pali.rohar@gmail.com; anthony.wong@canonical.com
Subject: Re: [PATCH] r8152: Add support for setting MAC to system's
Auxiliary MAC address

[off-list ref] writes:
quoted
quoted
quoted
2) Track whether this is the first or second USB NIC plugged in.  Only
offer it
quoted
quoted
on the first NIC detected by r8152.  When the second NIC is plugged in
don't
quoted
quoted
match from ACPI.
quoted
There would be a question of what to do if the first NIC is removed and
added back if it should get the persistent system MAC or not.
quoted
I'd say yes, just make sure that only one NIC can have it at a time.
You are going to get things very complex very quickly if you try to do this.
It's really not that hard, track a module wide static variable whether
the feature is in use.  Track in each device whether the feature was
in use.  If it in use, don't assign the next device plugged in via the
ACPI string.  If a device is removed that has the feature activated,
change the module wide static variable.
Having the mac address jump around in an arbitrary way like this is
going to confuse the hell out of your users.  Consider what happens if
the user docks a laptop with an r8152 usb dongle already plugged in...
How are you going to explain that the dock gets some other mac address
in this case? How are you going to explain the difference between using
an r8152 based dongle and some other ethernet usb dongle with your
systems?
Yeah I understand the concern.  I agree that would be very confusing
to a user.  This does need to match only on Dell docks then.
Make it behave consistently if you're going to add this.  Which can be
done by specifically matching the Dell dock (doesn't it have an unique
Dell device ID?) and ignoring any other r8152 device.  You could also
choose to set the same mac for all r8152 devices.  Which is fine, but
will probably confuse many users.
Unfortunately there is no Dell specific VID/PID.  I checked a no-name dongle
that used r8152 and it was the same (0bda:8153).  Maybe Hayes Wang can 
check with his Windows driver colleagues if there was anything else to key
off when this was implemented on the Windows Realtek driver.  If there 
is something else to key off of, I'm not aware what it is.  I'll check with 
some of my colleagues too.

I do have a way to query if a dock is plugged in via SMM, but I doubt that's
what Realtek is using on the Windows side.  I'd leave that as a second to
last resort (last resort being move back to userspace again).
What you definitely should not do is to change the mac for some
arbitrary "first" device.  Then you are better off with the userspace
proposal where you and your users have some chance to implement a
sensible policy based on e.g. usb port numbers.
OK, if I can't come up with a way to key on the device being a Dell dock 
I'll scrap this entirely kernel approach.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help