Skip to content

Commit

Permalink
ipv6: Shrink udp_v6_mcast_next() to one socket variable
Browse files Browse the repository at this point in the history
To avoid the confusion of having two variables, shrink the function to
only use the parameter variable for looping.

Cc: Eric Dumazet <edumazet@google.com>
Signed-off-by: Sven Wegener <sven.wegener@stealer.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Sven Wegener authored and David S. Miller committed Jun 5, 2014
1 parent f666f87 commit 9e89fd8
Showing 1 changed file with 12 additions and 13 deletions.
25 changes: 12 additions & 13 deletions net/ipv6/udp.c
Original file line number Diff line number Diff line change
Expand Up @@ -705,35 +705,34 @@ static struct sock *udp_v6_mcast_next(struct net *net, struct sock *sk,
int dif)
{
struct hlist_nulls_node *node;
struct sock *s = sk;
unsigned short num = ntohs(loc_port);

sk_nulls_for_each_from(s, node) {
struct inet_sock *inet = inet_sk(s);
sk_nulls_for_each_from(sk, node) {
struct inet_sock *inet = inet_sk(sk);

if (!net_eq(sock_net(s), net))
if (!net_eq(sock_net(sk), net))
continue;

if (udp_sk(s)->udp_port_hash == num &&
s->sk_family == PF_INET6) {
if (udp_sk(sk)->udp_port_hash == num &&
sk->sk_family == PF_INET6) {
if (inet->inet_dport) {
if (inet->inet_dport != rmt_port)
continue;
}
if (!ipv6_addr_any(&s->sk_v6_daddr) &&
!ipv6_addr_equal(&s->sk_v6_daddr, rmt_addr))
if (!ipv6_addr_any(&sk->sk_v6_daddr) &&
!ipv6_addr_equal(&sk->sk_v6_daddr, rmt_addr))
continue;

if (s->sk_bound_dev_if && s->sk_bound_dev_if != dif)
if (sk->sk_bound_dev_if && sk->sk_bound_dev_if != dif)
continue;

if (!ipv6_addr_any(&s->sk_v6_rcv_saddr)) {
if (!ipv6_addr_equal(&s->sk_v6_rcv_saddr, loc_addr))
if (!ipv6_addr_any(&sk->sk_v6_rcv_saddr)) {
if (!ipv6_addr_equal(&sk->sk_v6_rcv_saddr, loc_addr))
continue;
}
if (!inet6_mc_check(s, loc_addr, rmt_addr))
if (!inet6_mc_check(sk, loc_addr, rmt_addr))
continue;
return s;
return sk;
}
}
return NULL;
Expand Down

0 comments on commit 9e89fd8

Please sign in to comment.