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

Sander Jansen s.jansen at gmail.com
Mon Aug 13 10:03:20 EDT 2012

On Sat, Aug 11, 2012 at 11:56 AM, Leonid Isaev <lisaev at 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.

More information about the arch-general mailing list