diff options
author | Pavel Emelyanov <xemul@openvz.org> | 2008-06-17 02:12:11 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-06-17 02:12:11 +0200 |
commit | e31634931d00081c75e3fb3f3ec51a50dbf108bb (patch) | |
tree | ce1ef0eacc371bab82a604a9d42ae0b854a33031 /net/ipv4/udp.c | |
parent | udp: introduce a udp_hashfn function (diff) | |
download | linux-e31634931d00081c75e3fb3f3ec51a50dbf108bb.tar.xz linux-e31634931d00081c75e3fb3f3ec51a50dbf108bb.zip |
udp: provide a struct net pointer for __udp[46]_lib_mcast_deliver
They both calculate the hash chain, but currently do not have
a struct net pointer, so pass one there via additional argument,
all the more so their callers already have such.
Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/udp.c')
-rw-r--r-- | net/ipv4/udp.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c index d8f527d15701..6b0acb438f34 100644 --- a/net/ipv4/udp.c +++ b/net/ipv4/udp.c @@ -1059,7 +1059,7 @@ drop: * Note: called only from the BH handler context, * so we don't need to lock the hashes. */ -static int __udp4_lib_mcast_deliver(struct sk_buff *skb, +static int __udp4_lib_mcast_deliver(struct net *net, struct sk_buff *skb, struct udphdr *uh, __be32 saddr, __be32 daddr, struct hlist_head udptable[]) @@ -1156,6 +1156,7 @@ int __udp4_lib_rcv(struct sk_buff *skb, struct hlist_head udptable[], struct rtable *rt = (struct rtable*)skb->dst; __be32 saddr = ip_hdr(skb)->saddr; __be32 daddr = ip_hdr(skb)->daddr; + struct net *net; /* * Validate the packet. @@ -1177,10 +1178,12 @@ int __udp4_lib_rcv(struct sk_buff *skb, struct hlist_head udptable[], if (udp4_csum_init(skb, uh, proto)) goto csum_error; + net = dev_net(skb->dev); if (rt->rt_flags & (RTCF_BROADCAST|RTCF_MULTICAST)) - return __udp4_lib_mcast_deliver(skb, uh, saddr, daddr, udptable); + return __udp4_lib_mcast_deliver(net, skb, uh, + saddr, daddr, udptable); - sk = __udp4_lib_lookup(dev_net(skb->dev), saddr, uh->source, daddr, + sk = __udp4_lib_lookup(net, saddr, uh->source, daddr, uh->dest, inet_iif(skb), udptable); if (sk != NULL) { |