On Fri, Oct 09, 2009 at 09:36:13AM -0700, Greg KH wrote: > On Fri, Oct 09, 2009 at 09:00:01AM -0500, Narendra K wrote: > > On Fri, Oct 09, 2009 at 07:12:07PM +0530, K, Narendra wrote: > > > > example udev config: > > > > SUBSYSTEM=="net", > > > SYMLINK+="net/by-mac/$sysfs{ifindex}.$sysfs{address}" > > > > > > work as well. But coupling the ifindex to the MAC address like this > > > doesn't work. (In general, coupling any two unrelated attributes when > > > trying to do persistent names doesn't work.) > > > > > Attaching the latest patch incorporating review comments. > > > > By creating character devices for every network device, we can use > > udev to maintain alternate naming policies for devices, including > > additional names for the same device, without interfering with the > > name that the kernel assigns a device. > > > > This is conditionalized on CONFIG_NET_CDEV. If enabled (the default), > > device nodes will automatically be created in /dev/netdev/ for each > > network device. (/dev/net/ is already populated by the tun device.) > > > > These device nodes are not functional at the moment - open() returns > > -ENOSYS. Their only purpose is to provide userspace with a kernel > > name to ifindex mapping, in a form that udev can easily manage. > > How does this patch work with the network namespace functionality? There is a monitonically increasing static ifindex kept in net/core/dev.c:dev_new_index(), which is shared across all namespaces. struct net_device ifindex field is assigned from this. So two devices in two different namespaces can't share an ifindex value. However, the device can be present (or not) in the per-namespace dev_name_hash and dev_index_hashes. This patch doesn't change this at all. uevents aren't namespaced. Presumably that means /dev can't be polyinstantiated. Therefore, all devnodes in /dev/netdev/* will be visible to all processes, where 'ifconfig' and friends would only show device names in the processes namespace. This doesn't mean the app can _do_ anything (it's the same as if it tried to act on a device using an ifindex for a device not in its namespace), but yes, the fact that such a device exists will be exposed. -- Matt Domsch Technology Strategist, Dell Office of the CTO linux.dell.com & www.dell.com/linux -- To unsubscribe from this list: send the line "unsubscribe linux-hotplug" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html