[<prev] [next>] [day] [month] [year] [list]
Message-Id: <1389632378-4996-1-git-send-email-fx.lebail@yahoo.com>
Date: Mon, 13 Jan 2014 17:59:37 +0100
From: Francois-Xavier Le Bail <fx.lebail@...oo.com>
To: netdev@...r.kernel.org
Cc: Hannes Frederic Sowa <hannes@...essinduktion.org>,
"David S. Miller" <davem@...emloft.net>,
Alexey Kuznetsov <kuznet@....inr.ac.ru>,
James Morris <jmorris@...ei.org>,
Hideaki Yoshifuji <yoshfuji@...ux-ipv6.org>,
Patrick McHardy <kaber@...sh.net>,
Francois-Xavier Le Bail <fx.lebail@...oo.com>
Subject: [PATCH net-next v2] IPv6: enable bind() to assign an anycast address
- Use ipv6_chk_acast_addr_src() in inet6_bind().
Signed-off-by: Francois-Xavier Le Bail <fx.lebail@...oo.com>
---
Tested with SOCK_DGRAM and SOCK_STREAM sockets.
Tested with link-local and global anycast addresses.
net/ipv6/af_inet6.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/net/ipv6/af_inet6.c b/net/ipv6/af_inet6.c
index c921d5d..68b81e9 100644
--- a/net/ipv6/af_inet6.c
+++ b/net/ipv6/af_inet6.c
@@ -347,7 +347,9 @@ int inet6_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len)
if (!(addr_type & IPV6_ADDR_MULTICAST)) {
if (!(inet->freebind || inet->transparent) &&
!ipv6_chk_addr(net, &addr->sin6_addr,
- dev, 0)) {
+ dev, 0) &&
+ !ipv6_chk_acast_addr_src(net, dev,
+ &addr->sin6_addr)) {
err = -EADDRNOTAVAIL;
goto out_unlock;
}
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists