On Sat, Aug 11, 2012 at 11:56 AM, Leonid Isaev <lisaev@umail.iu.edu> wrote:
Hi,
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 /etc/udev/rules.d/10-network.rules # 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 ruleset?
I think those are standard if flags as defined in /usr/include/linux/if.h. Probably not a good idea to use I think.