All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Hemminger <shemminger@vyatta.com>
To: Emil S Tantilov <emils.tantilov@gmail.com>,
	"David S. Miller" <davem@davemloft.net>, Greg KH <greg@kroah.com>
Cc: NetDev <netdev@vger.kernel.org>,
	"Tantilov, Emil S" <emil.s.tantilov@intel.com>,
	stable@kernel.org
Subject: [PATCH 2/2] IPv6: only notify protocols if address is completely gone
Date: Mon, 24 May 2010 11:33:00 -0700	[thread overview]
Message-ID: <20100524113300.2ef38e12@nehalam> (raw)
In-Reply-To: <20100524113118.47cc9852@nehalam>

The notifier for address down should only be called if address is completely
gone, not just being marked as tentative on link transition. The code
in net-next would case bonding/sctp/s390 to see address disappear on link
down, but they would never see it reappear on link up.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit 8595805aafc8b077e01804c9a3668e9aa3510e89)
---
Patch for 2.6.34-stable, not needed on earlier or later kernels

 net/ipv6/addrconf.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
index 12e9558..844ffc5 100644
--- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c
@@ -2729,7 +2729,9 @@ static int addrconf_ifdown(struct net_device *dev, int how)
 		write_unlock_bh(&idev->lock);
 
 		__ipv6_ifa_notify(RTM_DELADDR, ifa);
-		atomic_notifier_call_chain(&inet6addr_chain, NETDEV_DOWN, ifa);
+		if (ifa->dead)
+			atomic_notifier_call_chain(&inet6addr_chain,
+						   NETDEV_DOWN, ifa);
 		in6_ifa_put(ifa);
 
 		write_lock_bh(&idev->lock);
-- 
1.7.0.4


  reply	other threads:[~2010-05-24 18:33 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-12 15:41 [PATCH 0/4] IPv6 addrconf related fixes Stephen Hemminger
2010-04-12 15:41 ` [PATCH 1/4] IPv6: keep route for tentative address Stephen Hemminger
2010-04-12 20:17   ` Tantilov, Emil S
2010-05-21 22:21     ` Emil S Tantilov
2010-05-24 18:31       ` [PATCH 1/2] " Stephen Hemminger
2010-05-24 18:33         ` Stephen Hemminger [this message]
2010-07-28  0:25           ` Patch "IPv6: only notify protocols if address is completely gone" has been added to the 2.6.34-stable tree gregkh
2010-05-24 18:47         ` [PATCH 1/2] IPv6: keep route for tentative address Greg KH
2010-05-24 20:52           ` David Miller
2010-07-28  0:24         ` Patch "IPv6: keep route for tentative address" has been added to the 2.6.34-stable tree gregkh
2010-04-12 15:41 ` [PATCH 2/4] IPv6: keep tentative addresses in hash table Stephen Hemminger
2010-04-12 15:41 ` [PATCH 3/4] ipv6: additional ref count for hash list unnecessary Stephen Hemminger
2010-04-12 15:41 ` [PATCH 4/4] IPv6: only notify protocols if address is compeletely gone Stephen Hemminger
2010-04-13  9:29 ` [PATCH 0/4] IPv6 addrconf related fixes David Miller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100524113300.2ef38e12@nehalam \
    --to=shemminger@vyatta.com \
    --cc=davem@davemloft.net \
    --cc=emil.s.tantilov@intel.com \
    --cc=emils.tantilov@gmail.com \
    --cc=greg@kroah.com \
    --cc=netdev@vger.kernel.org \
    --cc=stable@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.