netdev + callout rules
Hi all,
I'm not sure whether I'm following the netdev change for udev. AFAIK udev has been changed to also handle net requests, so that the interface name of a new interface can be changed nameif-like within udev. Ok so far.
But: What if one assumed that the add net device event will also setup the interface itself via a call to 'ifconfig' or 'ifup'?
Do we have a callout rule in udev which is run _after_ the device node (or, in this case, the nameif call) has been run?
Otherwise I don't really see much point in running udev for net events, as our current ifup already uses nameif to rename the interface ... But who knows, maybe there is something totally obvious which I'd overlooked.
Cheers,
Hannes
Signature · 15 lines
Dr. Hannes Reinecke [email protected] SuSE Linux AG S390 & zSeries Maxfeldstraße 5 +49 911 74053 688 90409 Nürnberg http://www.suse.de ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id70&alloc_id638&opÌk _______________________________________________ Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net [email protected] https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
Quoted 11 lines · Hannes Reinecke
Hi all,
I'm not sure whether I'm following the netdev change for udev. AFAIK udev has been changed to also handle net requests, so that the interface name of a new interface can be changed nameif-like within udev. Ok so far.
But: What if one assumed that the add net device event will also setup the interface itself via a call to 'ifconfig' or 'ifup'?
Do we have a callout rule in udev which is run _after_ the device node (or, in this case, the nameif call) has been run?
Yes, there is the /etc/dev.d/ directory. You may look at docs/RFC-dev.d in the current tree.
Quoted 4 lines
Otherwise I don't really see much point in running udev for net events, as our current ifup already uses nameif to rename the interface ... But who knows, maybe there is something totally obvious which I'd overlooked.
Yes, we do a similar thing, but nameif can only handle MAC addresses while udev can match _any_ attribute along the chain, the device is located.
thanks,
Kay
-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id70&alloc_id638&op=click
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
Quoted 7 lines · Hannes Reinecke
Hi all,
I'm not sure whether I'm following the netdev change for udev. AFAIK udev has been changed to also handle net requests, so that the interface name of a new interface can be changed nameif-like within udev. Ok so far.
Quoted 8 lines
But: What if one assumed that the add net device event will also setup the interface itself via a call to 'ifconfig' or 'ifup'?
Do we have a callout rule in udev which is run _after_ the device node (or, in this case, the nameif call) has been run?
Otherwise I don't really see much point in running udev for net events, as our current ifup already uses nameif to rename the interface ... But who knows, maybe there is something totally obvious which I'd overlooked.
You are correct. Here's a tiny script that I placed in /etc/dev.d/network/ that will call the hotplug scripts again with the new network name, if udev renames the device. I'll be adding it to the udev tree for it to install, as it is pretty useful.
Even tested it on my laptop, so now I can run with renamed network devices all of the time :)
thanks,
greg k-h
#!/bin/sh
#
# Script to ensure that any network device that udev renames
# still gets the hotplug script run with the proper name. # # Released under the GPL v2 # # Copyright (C) 2004 Greg Kroah-Hartman <[email protected]> #
# See if we really did rename this device.
if [ "$INTERFACE" = "$DEVNAME" ]; then
exit 0
fi
# ok, we have renamed this device, so let's set $INTERFACE to the new name
# and call the network hotplug script to handle it properly... INTERFACE=$DEVNAME export INTERFACE if [ -f /etc/hotplug.d/default/default.hotplug ]; then /etc/hotplug.d/default/default.hotplug net fi
-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id70&alloc_id638&op=click
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel