Skip to contentSkip to conversation

netdev + callout rules

DISCUSSION Hannes Reinecke 3 participants 3 messages Apr 1, 2004

lore
Share & tools
lore
#0 lore raw

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
#1 lore raw
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

#2 lore raw
In reply to Hannes Reinecke
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