aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChuck Lever <chuck.lever@oracle.com>2010-01-12 17:41:10 -0500
committerTrond Myklebust <Trond.Myklebust@netapp.com>2010-02-10 08:30:52 -0500
commitf1a89a118299df9e5afbaaedf83e5709a28632b6 (patch)
treed75b79caf6245c3a91e0fb70beb8aaf0f9d667d9
parent97cefcc6d0aa6b4fc9ba67eb1ef4cc9e25f826f2 (diff)
SUNRPC: Deprecate support for site-local addresses
RFC 3879 "formally deprecates" site-local IPv6 addresses. We interpret that to mean that the scope ID is ignored for all but link-local addresses. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Acked-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-rw-r--r--net/sunrpc/addr.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/net/sunrpc/addr.c b/net/sunrpc/addr.c
index 6dcdd2517819..0756c5da12f4 100644
--- a/net/sunrpc/addr.c
+++ b/net/sunrpc/addr.c
@@ -71,8 +71,7 @@ static size_t rpc_ntop6(const struct sockaddr *sap,
71 if (unlikely(len == 0)) 71 if (unlikely(len == 0))
72 return len; 72 return len;
73 73
74 if (!(ipv6_addr_type(&sin6->sin6_addr) & IPV6_ADDR_LINKLOCAL) && 74 if (!(ipv6_addr_type(&sin6->sin6_addr) & IPV6_ADDR_LINKLOCAL))
75 !(ipv6_addr_type(&sin6->sin6_addr) & IPV6_ADDR_SITELOCAL))
76 return len; 75 return len;
77 76
78 rc = snprintf(scopebuf, sizeof(scopebuf), "%c%u", 77 rc = snprintf(scopebuf, sizeof(scopebuf), "%c%u",
@@ -165,8 +164,7 @@ static int rpc_parse_scope_id(const char *buf, const size_t buflen,
165 if (*delim != IPV6_SCOPE_DELIMITER) 164 if (*delim != IPV6_SCOPE_DELIMITER)
166 return 0; 165 return 0;
167 166
168 if (!(ipv6_addr_type(&sin6->sin6_addr) & IPV6_ADDR_LINKLOCAL) && 167 if (!(ipv6_addr_type(&sin6->sin6_addr) & IPV6_ADDR_LINKLOCAL))
169 !(ipv6_addr_type(&sin6->sin6_addr) & IPV6_ADDR_SITELOCAL))
170 return 0; 168 return 0;
171 169
172 len = (buf + buflen) - delim - 1; 170 len = (buf + buflen) - delim - 1;