On Aug 30, 2011, at 10:28 AM, Chuck Lever wrote: > > On Aug 30, 2011, at 5:22 AM, Mi Jinlong wrote: > >> For ipv6 link-local addresses, sunrpc do not compare those scope id. >> This patch let sunrpc compares scope id only on link-local addresses. >> >> Signed-off-by: Mi Jinlong <mijinlong@xxxxxxxxxxxxxx> >> --- >> include/linux/sunrpc/clnt.h | 8 +++++++- >> 1 files changed, 7 insertions(+), 1 deletions(-) >> >> diff --git a/include/linux/sunrpc/clnt.h b/include/linux/sunrpc/clnt.h >> index db7bcaf..ee1bb67 100644 >> --- a/include/linux/sunrpc/clnt.h >> +++ b/include/linux/sunrpc/clnt.h >> @@ -218,7 +218,13 @@ static inline bool __rpc_cmp_addr6(const struct sockaddr *sap1, >> { >> const struct sockaddr_in6 *sin1 = (const struct sockaddr_in6 *)sap1; >> const struct sockaddr_in6 *sin2 = (const struct sockaddr_in6 *)sap2; >> - return ipv6_addr_equal(&sin1->sin6_addr, &sin2->sin6_addr); >> + >> + if (!ipv6_addr_equal(&sin1->sin6_addr, &sin2->sin6_addr)) >> + return false; >> + else if (ipv6_addr_type(&sin1->sin6_addr) & IPV6_ADDR_LINKLOCAL) >> + return sin1->sin6_scope_id == sin2->sin6_scope_id; > > Thanks for splitting the patches. > > The address comparators I've seen check that both addresses are link-local before comparing the scope IDs. I don't think we can assume the kind of source-destination address relationship we have in parts of the RPC server code. Jeff points out that you've already tested that the addresses are equal. So, never mind. Reviewed-by: Chuck Lever <chuck.lever@xxxxxxxxxx> > >> + >> + return true; >> } >> >> static inline bool __rpc_copy_addr6(struct sockaddr *dst, >> -- >> 1.7.6 >> >> > > -- > Chuck Lever > chuck[dot]lever[at]oracle[dot]com > > > > > -- > To unsubscribe from this list: send the line "unsubscribe linux-nfs" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- Chuck Lever chuck[dot]lever[at]oracle[dot]com -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html