[arch-general] Using ATTR{flags} in udev rules

Leonid Isaev lisaev at umail.iu.edu
Sat Aug 11 12:56:19 EDT 2012


	While building an Arch-based wireless router I ran into a problem of
persistent NIC naming. To differentiate which interfaces go to WAN and LAN,
I have created a simple udev rule like this
# On-board NIC (Realtek, r8169)
SUBSYSTEM=="net", ATTR{address}==mac, NAME="wan"
# USB ethernet adapter (Asix)
SUBSYSTEM=="net", ATTR{address}==mac, NAME="elan0"
# PCI card (dlink dwa-552, ath9k)
SUBSYSTEM=="net", ATTR{address}==mac, NAME="wap"

These work OK until hostapd starts. It creates a bridge br0=(wap) and also a
"mon.wap" interface. Both new interfaces share the same mac address as "wap"
which confuses udev, as it tries to rename them as well and fails.
	Matching parent devices is not enough because "wap" and "mon.wap" have
the same parent. However, ATTR{flags} is different for the two (at the device
level). What does this attribute mean and is it a good idea to use it in a


Leonid Isaev
GnuPG key: 0x164B5A6D
Fingerprint: C0DF 20D0 C075 C3F1 E1BE  775A A7AE F6CB 164B 5A6D
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: not available
URL: <http://mailman.archlinux.org/pipermail/arch-general/attachments/20120811/3015a6a2/attachment.asc>

More information about the arch-general mailing list