]> Git Repo - linux.git/blobdiff - net/ipv4/tcp_metrics.c
ipv6: add ipv6_addr_hash() helper
[linux.git] / net / ipv4 / tcp_metrics.c
index 5a38a2d5a95ba41dc67aa82aefaf5f2dcddc88d9..1a115b66579289fd7bb364d1f43ec31adacaf04c 100644 (file)
@@ -211,10 +211,7 @@ static struct tcp_metrics_block *__tcp_get_metrics_req(struct request_sock *req,
                break;
        case AF_INET6:
                *(struct in6_addr *)addr.addr.a6 = inet6_rsk(req)->rmt_addr;
-               hash = ((__force unsigned int) addr.addr.a6[0] ^
-                       (__force unsigned int) addr.addr.a6[1] ^
-                       (__force unsigned int) addr.addr.a6[2] ^
-                       (__force unsigned int) addr.addr.a6[3]);
+               hash = ipv6_addr_hash(&inet6_rsk(req)->rmt_addr);
                break;
        default:
                return NULL;
@@ -251,10 +248,7 @@ static struct tcp_metrics_block *__tcp_get_metrics_tw(struct inet_timewait_sock
        case AF_INET6:
                tw6 = inet6_twsk((struct sock *)tw);
                *(struct in6_addr *)addr.addr.a6 = tw6->tw_v6_daddr;
-               hash = ((__force unsigned int) addr.addr.a6[0] ^
-                       (__force unsigned int) addr.addr.a6[1] ^
-                       (__force unsigned int) addr.addr.a6[2] ^
-                       (__force unsigned int) addr.addr.a6[3]);
+               hash = ipv6_addr_hash(&tw6->tw_v6_daddr);
                break;
        default:
                return NULL;
@@ -291,10 +285,7 @@ static struct tcp_metrics_block *tcp_get_metrics(struct sock *sk,
                break;
        case AF_INET6:
                *(struct in6_addr *)addr.addr.a6 = inet6_sk(sk)->daddr;
-               hash = ((__force unsigned int) addr.addr.a6[0] ^
-                       (__force unsigned int) addr.addr.a6[1] ^
-                       (__force unsigned int) addr.addr.a6[2] ^
-                       (__force unsigned int) addr.addr.a6[3]);
+               hash = ipv6_addr_hash(&inet6_sk(sk)->daddr);
                break;
        default:
                return NULL;
This page took 0.030801 seconds and 4 git commands to generate.