[SM-Discuss] netconf MAC setting change

Juuso Alasuutari iuso at sourcemage.org
Sun Jun 25 10:11:19 EDT 2006


Getting back to this issue with some updates.

As you've probably noticed, netconf and udev now both do interface renaming 
based on DEVICE_MAC. This is certainly an improvement over the horrible mess 
I made using the MAC spoof field...

While binding to the mac address is not a perfect solution, I believe this 
thread's discussion has shown that neither is any other approach. The mac is 
a kind of "industry standard" when it comes to how distros generally solve 
persistent interface naming. We can at least try to make it as smooth as 
possible.

At the moment it's up to the user to fill in DEVICE_MAC if he/she wants to 
bind interfaces. I'd like to see interface binding as a standard feature 
(this is _strictly_ IMHO, mind you). We could anyway round the edges a 
little. Maybe netconf could suggest to fill it in automatically (reading 
from /sys/class/net/<if>/address), or possibly even fill it in automatically 
during 'Add new device' (this might be risky).

As to what we should do with the MAC spoof option, my opinion's tilting 
towards removing it for now. But I'd also be happy to try implementing 
something like Seth suggested, where the native MAC is saved as persistent 
value during boot(?), and used for comparison later on instead 
of /sys/class/net/<if>/address. That would solve some problems, although as 
already stated it would leave the rogue spoofers own their own.

Commenting on issue #2 below, I'm happy to announce that the problem of 
renaming interfaces with existing names is (most probably) solved with a 
patch I applied to the udev spell today. I got it from udev and debian 
devolper Marco d'Itri. His solution modifies udev_device.c to wait until 
other interfaces are renamed to avoid conflicts. It is used in the debian 
unstable udev package, and will probably be implemented in mainstream udev 
soon.

So, if anyone previously tried and failed to cross-rename eth0->eth1 and 
eth1->eth0 during boot, please cast the latest udev spell and try again. (If 
you don't have git access you'll have to wait for the next test tarball; I 
submitted the patch less than an hour ago.)

On Tuesday 20 June 2006 10:06, Pieter Lenaerts wrote:
> On Sun, Jun 18, 2006 at 12:14:29PM +0200, Thomas Orgis wrote:
> > My conclusion: The device renaming to eth0/1 fails because there is
> > already a device present with that name (since kernel brought up both
> > drivers before the udev rules for sysconfig are executed).
>
> there's two things to do if we want to make this robust:
>
> 1. netconf should let the user select the right device_mac for the right
> nic from /sys info combined with lspci info if available. netconf is
> supposed to hide all ifconfig or udev complexity for the user.
>
> 2. mac2name has to become intelligent in its renaming tactics so that it
> supports renaming and mac changes at any time in all directions.
> this will require tests for it to find out the current state, the way to
> get to target state and (optional) triggering of udevstart at changes in
> device configs.

-- 
        Juuso Alasuutari
[[ Source Mage GNU/Linux ]]
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.ibiblio.org/pipermail/sm-discuss/attachments/20060625/0ca58e19/attachment.bin 


More information about the SM-Discuss mailing list