diff options
Diffstat (limited to 'net/ipv4/tcp_metrics.c')
-rw-r--r-- | net/ipv4/tcp_metrics.c | 15 |
1 files changed, 3 insertions, 12 deletions
diff --git a/net/ipv4/tcp_metrics.c b/net/ipv4/tcp_metrics.c index 5a38a2d5a95b..1a115b665792 100644 --- a/net/ipv4/tcp_metrics.c +++ b/net/ipv4/tcp_metrics.c | |||
@@ -211,10 +211,7 @@ static struct tcp_metrics_block *__tcp_get_metrics_req(struct request_sock *req, | |||
211 | break; | 211 | break; |
212 | case AF_INET6: | 212 | case AF_INET6: |
213 | *(struct in6_addr *)addr.addr.a6 = inet6_rsk(req)->rmt_addr; | 213 | *(struct in6_addr *)addr.addr.a6 = inet6_rsk(req)->rmt_addr; |
214 | hash = ((__force unsigned int) addr.addr.a6[0] ^ | 214 | hash = ipv6_addr_hash(&inet6_rsk(req)->rmt_addr); |
215 | (__force unsigned int) addr.addr.a6[1] ^ | ||
216 | (__force unsigned int) addr.addr.a6[2] ^ | ||
217 | (__force unsigned int) addr.addr.a6[3]); | ||
218 | break; | 215 | break; |
219 | default: | 216 | default: |
220 | return NULL; | 217 | return NULL; |
@@ -251,10 +248,7 @@ static struct tcp_metrics_block *__tcp_get_metrics_tw(struct inet_timewait_sock | |||
251 | case AF_INET6: | 248 | case AF_INET6: |
252 | tw6 = inet6_twsk((struct sock *)tw); | 249 | tw6 = inet6_twsk((struct sock *)tw); |
253 | *(struct in6_addr *)addr.addr.a6 = tw6->tw_v6_daddr; | 250 | *(struct in6_addr *)addr.addr.a6 = tw6->tw_v6_daddr; |
254 | hash = ((__force unsigned int) addr.addr.a6[0] ^ | 251 | hash = ipv6_addr_hash(&tw6->tw_v6_daddr); |
255 | (__force unsigned int) addr.addr.a6[1] ^ | ||
256 | (__force unsigned int) addr.addr.a6[2] ^ | ||
257 | (__force unsigned int) addr.addr.a6[3]); | ||
258 | break; | 252 | break; |
259 | default: | 253 | default: |
260 | return NULL; | 254 | return NULL; |
@@ -291,10 +285,7 @@ static struct tcp_metrics_block *tcp_get_metrics(struct sock *sk, | |||
291 | break; | 285 | break; |
292 | case AF_INET6: | 286 | case AF_INET6: |
293 | *(struct in6_addr *)addr.addr.a6 = inet6_sk(sk)->daddr; | 287 | *(struct in6_addr *)addr.addr.a6 = inet6_sk(sk)->daddr; |
294 | hash = ((__force unsigned int) addr.addr.a6[0] ^ | 288 | hash = ipv6_addr_hash(&inet6_sk(sk)->daddr); |
295 | (__force unsigned int) addr.addr.a6[1] ^ | ||
296 | (__force unsigned int) addr.addr.a6[2] ^ | ||
297 | (__force unsigned int) addr.addr.a6[3]); | ||
298 | break; | 289 | break; |
299 | default: | 290 | default: |
300 | return NULL; | 291 | return NULL; |