Arch Linux

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#6589 - udev tap* rule is broken

Attached to Project: Arch Linux
Opened by Emil Renner Berthing (Esmil) - Tuesday, 13 March 2007, 13:11 GMT
Last edited by Roman Kyrylych (Romashka) - Thursday, 15 March 2007, 13:31 GMT
Task Type Bug Report
Category Packages: Current
Status Closed
Assigned To Tobias Powalowski (tpowa)
Architecture not specified
Severity Very Low
Priority Normal
Reported Version 0.7.2 Gimmick
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Net interfaces doesn't get a device in /dev in Linux. Hence the rule

KERNEL=="tap*", NAME="netlink/%k"

in /etc/udev/rules.d/udev.rules prevents udev from generating a udev event. Commenting out this line fixes it.
This is the case on my x86_64 system at least.
This task depends upon

Closed by  Tobias Powalowski (tpowa)
Saturday, 24 March 2007, 20:52 GMT
Reason for closing:  Fixed
Comment by Tobias Powalowski (tpowa) - Saturday, 17 March 2007, 16:50 GMT
how you get those tap* device? is there any module needed?
Comment by Emil Renner Berthing (Esmil) - Saturday, 17 March 2007, 18:18 GMT
Yes, it's tun/tap driver typically used by VPN programs to create virtual tunnel and ethernet devices respectively. The module in called tun. It is found under Device Drivers -> Netwrok Device support -> Universal TUN/TAP device driver support (CONFIG_TUN) when compiling a 2.6 kernel.
Comment by Tobias Powalowski (tpowa) - Sunday, 18 March 2007, 10:13 GMT
yes ok but how do i get it in /dev? when loading tun i only get /dev/net/tun
Comment by Emil Renner Berthing (Esmil) - Sunday, 18 March 2007, 13:18 GMT
No, that is exactly the point. In Linux you don't get devices under /dev for network interfaces. Hence the rule above is a bit weird, and it even prevents udev from generating an event.
That means user defined rules, such as

KERNEL=="tap*", RUN+="/do/something/useful"

will *not* work.

Try running udevmonitor and then insert the module. You'll see an UEVENT, but not an UDEV event.
Comment by Tobias Powalowski (tpowa) - Sunday, 18 March 2007, 13:19 GMT
it will work, you need to place it before udev.rules like 01-custom.rules
Comment by Emil Renner Berthing (Esmil) - Sunday, 18 March 2007, 13:45 GMT
I placed the rule in 50-net.rules, but for you I tried renaming it to 01-custom.rules. Same result.

Did you try running udevmonitor, insert the module and run some program that will bring up a tap interface?
I assure you. You'll see a kernel event, but no udev event until you comment out the rule above.

Loading...