networking: [IPv6] Don't generate temporary for TUN devices
Subsystems (3)
PATCH 1/1 networking: [IPv6] Don't generate temporary for TUN devices
Hello,
Userland layer-2 tunneling devices allocated through the TUNTAP driver (drivers/net/tun.c) have a type of ARPHRD_NONE, and have no link-layer address. The kernel complains at regular interval when IPv6 Privacy extension are enabled because it can't find an hardware address :
Dec 29 11:02:04 auguste kernel: __ipv6_regen_rndid(idev=cb3e0c00):
cannot get EUI64 identifier; use random bytes.
IPv6 Privacy extensions should probably be disabled on that sort of device. They won't work anyway. If userland wants a more usual Ethernet-ish interface with usual IPv6 autoconfiguration, it will use a TAP device with an emulated link-layer and a random hardware address rather than a TUN device.
As far as I could fine, TUN virtual device from TUNTAP is the very only sort of device using ARPHRD_NONE as kernel device type.
net/ipv6/addrconf.c renamed from net/ipv6/addrconf.c.orig +1 -0
@@ -372,6 +372,7 @@ ndev->regen_timer.data = (unsigned long ) ndev;if ((dev->flags&IFF_LOOPBACK ) || dev->type ==ARPHRD_TUNNEL || + dev->type ==ARPHRD_NONE || dev->type ==ARPHRD_SIT ) { printk(KERN_INFO "Disabled Privacy Extensions on device %p(%s)\n",
Signature · 2 lines
Rémi Denis-Courmont http://www.simphalempin.com/home/
In article <[email protected]> (at Sat, 11 Jun 2005 15:12:40 +0200), Rémi Denis-Courmont <[email protected]> says:
Quoted 2 lines
Dec 29 11:02:04 auguste kernel: __ipv6_regen_rndid(idev=cb3e0c00):cannot get EUI64 identifier; use random bytes.
:
Quoted 2 lines
As far as I could fine, TUN virtual device from TUNTAP is the very only sort of device using
ARPHRD_NONEas kernel device type.
--yoshfuji