netdev
[Top] [All Lists]

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

To: davem@xxxxxxxxxxxxx, pekkas@xxxxxxxxxx
Subject: [PATCH] networking: [IPv6] Don't generate temporary for TUN devices
From: Rémi Denis-Courmont <rdenis@xxxxxxxxxxxxxxxx>
Date: Sat, 11 Jun 2005 15:12:40 +0200
Cc: yoshfuji@xxxxxxxxxxxxxx, netdev@xxxxxxxxxxx
Organization: SimPhalempin.Com
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: KMail/1.7.2
        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.


Signed-off-by: Rémi Denis-Courmont <rdenis@xxxxxxxxxxxxxxxx>
--- a/net/ipv6/addrconf.c.orig  2004-12-29 10:50:27.000000000 +0100
+++ b/net/ipv6/addrconf.c       2004-12-29 10:50:41.000000000 +0100
@@ -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",

-- 
Rémi Denis-Courmont
http://www.simphalempin.com/home/


<Prev in Thread] Current Thread [Next in Thread>