From patchwork Wed Jul 6 09:04:13 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Bj=C3=B8rn_Mork?= X-Patchwork-Id: 103442 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 26833B6F6B for ; Wed, 6 Jul 2011 19:05:15 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753771Ab1GFJFH (ORCPT ); Wed, 6 Jul 2011 05:05:07 -0400 Received: from canardo.mork.no ([148.122.252.1]:49683 "EHLO canardo.mork.no" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751567Ab1GFJFG (ORCPT ); Wed, 6 Jul 2011 05:05:06 -0400 Received: from canardo.mork.no (ip6-localhost [IPv6:::1]) by canardo.mork.no (8.14.3/8.14.3) with ESMTP id p6694pdh021499 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Wed, 6 Jul 2011 11:04:51 +0200 Received: (from bjorn@localhost) by canardo.mork.no (8.14.3/8.14.3/Submit) id p6694nKQ021498; Wed, 6 Jul 2011 11:04:49 +0200 From: =?UTF-8?q?Bj=C3=B8rn=20Mork?= To: netdev@vger.kernel.org Cc: Stephen Hemminger , Herbert Xu , Brian Haley , =?UTF-8?q?Bj=C3=B8rn=20Mork?= Subject: [PATCH v2] Disable router anycast address for /127 prefixes Date: Wed, 6 Jul 2011 11:04:13 +0200 Message-Id: <1309943053-21437-1-git-send-email-bjorn@mork.no> X-Mailer: git-send-email 1.7.2.5 References: <20110630104713.52e085dd@nehalam.ftrdhcpuser.net> <1309519330-16649-1-git-send-email-bjorn@mork.no> <4E0DDDA5.20401@hp.com> <87y60hsvr2.fsf@nemi.mork.no> <4E0E1B85.1080906@hp.com> <87r569rpis.fsf@nemi.mork.no> In-Reply-To: <87r569rpis.fsf@nemi.mork.no> MIME-Version: 1.0 X-Spam-Status: No, score=-2.5 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on canardo.mork.no X-Virus-Scanned: clamav-milter 0.97 at canardo X-Virus-Status: Clean Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org RFC 6164 requires that routers MUST disable Subnet-Router anycast for the prefix when /127 prefixes are used. No need for matching code in addrconf_leave_anycast() as it will silently ignore any attempt to leave an unknown anycast address. Signed-off-by: Bjørn Mork --- Changes since v1: * removed unneeded change based on review comments from Brian Haley Thought a bit more about this and found that adding less code makes more sense, given that the meaning is clear enough. But I really don't have any strong meanings about this. Please apply either version 1 or version 2 depending on your preferences. Bjørn net/ipv6/addrconf.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c index 498b927..fef2e2e 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c @@ -1470,6 +1470,8 @@ void addrconf_leave_solict(struct inet6_dev *idev, const struct in6_addr *addr) static void addrconf_join_anycast(struct inet6_ifaddr *ifp) { struct in6_addr addr; + if (ifp->prefix_len == 127) /* RFC 6164 */ + return; ipv6_addr_prefix(&addr, &ifp->addr, ifp->prefix_len); if (ipv6_addr_any(&addr)) return;