diff options
author | Felix Jia <felix.jia@alliedtelesis.co.nz> | 2017-01-26 16:59:18 +1300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-01-27 10:25:34 -0500 |
commit | 45ce0fd19da9ca21635c367d504b9e4904621ff4 (patch) | |
tree | af3976ead60df2f2dbbe85dc7faa51f7bc24b8fa /net/ipv6/addrconf.c | |
parent | d35a00b8e33dab7385f724e713ae71c8be0a49f4 (diff) | |
download | lwn-45ce0fd19da9ca21635c367d504b9e4904621ff4.tar.gz lwn-45ce0fd19da9ca21635c367d504b9e4904621ff4.zip |
net/ipv6: support more tunnel interfaces for EUI64 link-local generation
Signed-off-by: Felix Jia <felix.jia@alliedtelesis.co.nz>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/addrconf.c')
-rw-r--r-- | net/ipv6/addrconf.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c index e35259dd17ba..4c47656b9f09 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c @@ -2146,12 +2146,14 @@ static int ipv6_generate_eui64(u8 *eui, struct net_device *dev) case ARPHRD_SIT: return addrconf_ifid_sit(eui, dev); case ARPHRD_IPGRE: + case ARPHRD_TUNNEL: return addrconf_ifid_gre(eui, dev); case ARPHRD_6LOWPAN: return addrconf_ifid_eui64(eui, dev); case ARPHRD_IEEE1394: return addrconf_ifid_ieee1394(eui, dev); case ARPHRD_TUNNEL6: + case ARPHRD_IP6GRE: return addrconf_ifid_ip6tnl(eui, dev); } return -1; @@ -3195,6 +3197,9 @@ static void addrconf_dev_config(struct net_device *dev) (dev->type != ARPHRD_IEEE1394) && (dev->type != ARPHRD_TUNNEL6) && (dev->type != ARPHRD_6LOWPAN) && + (dev->type != ARPHRD_IP6GRE) && + (dev->type != ARPHRD_IPGRE) && + (dev->type != ARPHRD_TUNNEL) && (dev->type != ARPHRD_NONE)) { /* Alas, we support only Ethernet autoconfiguration. */ return; |