From: YOSHIFUJI Hideaki / 吉藤英明 Date: Fri, 26 Mar 2010 08:34:30 +0000 (+0000) Subject: sctp: Use ipv6_addr_diff() in sctp_v6_addr_match_len(). X-Git-Tag: firefly_0821_release~9833^2~2087^2~642 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=de7737e056d65ad6b0f135f7bb24d86458af0d47;p=firefly-linux-kernel-4.4.55.git sctp: Use ipv6_addr_diff() in sctp_v6_addr_match_len(). Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller --- diff --git a/net/sctp/ipv6.c b/net/sctp/ipv6.c index 240dceba06e5..216d88f27236 100644 --- a/net/sctp/ipv6.c +++ b/net/sctp/ipv6.c @@ -276,20 +276,7 @@ static struct dst_entry *sctp_v6_get_dst(struct sctp_association *asoc, static inline int sctp_v6_addr_match_len(union sctp_addr *s1, union sctp_addr *s2) { - struct in6_addr *a1 = &s1->v6.sin6_addr; - struct in6_addr *a2 = &s2->v6.sin6_addr; - int i, j; - - for (i = 0; i < 4 ; i++) { - __be32 a1xora2; - - a1xora2 = a1->s6_addr32[i] ^ a2->s6_addr32[i]; - - if ((j = fls(ntohl(a1xora2)))) - return (i * 32 + 32 - j); - } - - return (i*32); + return ipv6_addr_diff(&s1->v6.sin6_addr, &s2->v6.sin6_addr); } /* Fills in the source address(saddr) based on the destination address(daddr)