Skip to contentSkip to conversation

networking: [IPv6] Don't generate temporary for TUN devices

PATCH In review Rémi Denis-Courmont 2 participants 2 messages Jun 11, 2005

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

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/
#1 lore raw

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_NONE as kernel device type.

--yoshfuji