36 lines
1.5 KiB
Plaintext
36 lines
1.5 KiB
Plaintext
From: Olaf Kirch <okir@suse.de>
|
|
Subject: Allow to bring up network interface w/o ipv6 autoconf
|
|
References: bnc#161888
|
|
Patch-mainline: no
|
|
|
|
When bringing up a xen bridge device, it will always be configured to
|
|
use a MAC address of ff:ff:ff:ff:ff:fe. This greatly confuses IPv6 DAD,
|
|
which starts logging lots and lots of useless messages to syslog.
|
|
|
|
We really want to disable IPv6 on these interfaces, and there doesn't
|
|
seem to be a reliable way to do this without bringing the interface
|
|
up first (and triggering IPv6 autoconf).
|
|
|
|
This patch makes autoconf (DAD and router discovery) depend on the
|
|
interface's ability to do multicast. Turning off multicast for an
|
|
interface before bringing it up will suppress autoconfiguration.
|
|
|
|
--- head-2011-02-08.orig/net/ipv6/addrconf.c 2011-02-08 09:51:53.000000000 +0100
|
|
+++ head-2011-02-08/net/ipv6/addrconf.c 2011-02-08 10:00:00.000000000 +0100
|
|
@@ -2848,6 +2848,7 @@ static void addrconf_dad_start(struct in
|
|
goto out;
|
|
|
|
if (dev->flags&(IFF_NOARP|IFF_LOOPBACK) ||
|
|
+ !(dev->flags&IFF_MULTICAST) ||
|
|
idev->cnf.accept_dad < 1 ||
|
|
!(ifp->flags&IFA_F_TENTATIVE) ||
|
|
ifp->flags & IFA_F_NODAD) {
|
|
@@ -2951,6 +2952,7 @@ static void addrconf_dad_completed(struc
|
|
ifp->idev->cnf.forwarding == 2) &&
|
|
ifp->idev->cnf.rtr_solicits > 0 &&
|
|
(dev->flags&IFF_LOOPBACK) == 0 &&
|
|
+ (dev->flags&IFF_MULTICAST) &&
|
|
(ipv6_addr_type(&ifp->addr) & IPV6_ADDR_LINKLOCAL)) {
|
|
/*
|
|
* If a host as already performed a random delay
|