diff options
author | YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> | 2008-03-25 08:47:49 -0400 |
---|---|---|
committer | YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> | 2008-03-25 15:39:53 -0400 |
commit | c346dca10840a874240c78efe3f39acf4312a1f2 (patch) | |
tree | c04cff20124eba5cc337cc5ec260ad2513eeb065 /net/ipv4/ip_input.c | |
parent | 7cbca67c073263c179f605bdbbdc565ab29d801d (diff) |
[NET] NETNS: Omit net_device->nd_net without CONFIG_NET_NS.
Introduce per-net_device inlines: dev_net(), dev_net_set().
Without CONFIG_NET_NS, no namespace other than &init_net exists.
Let's explicitly define them to help compiler optimizations.
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Diffstat (limited to 'net/ipv4/ip_input.c')
-rw-r--r-- | net/ipv4/ip_input.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/net/ipv4/ip_input.c b/net/ipv4/ip_input.c index 2aeea5d15425..26685c83a146 100644 --- a/net/ipv4/ip_input.c +++ b/net/ipv4/ip_input.c | |||
@@ -172,7 +172,7 @@ int ip_call_ra_chain(struct sk_buff *skb) | |||
172 | if (sk && inet_sk(sk)->num == protocol && | 172 | if (sk && inet_sk(sk)->num == protocol && |
173 | (!sk->sk_bound_dev_if || | 173 | (!sk->sk_bound_dev_if || |
174 | sk->sk_bound_dev_if == dev->ifindex) && | 174 | sk->sk_bound_dev_if == dev->ifindex) && |
175 | sk->sk_net == dev->nd_net) { | 175 | sk->sk_net == dev_net(dev)) { |
176 | if (ip_hdr(skb)->frag_off & htons(IP_MF | IP_OFFSET)) { | 176 | if (ip_hdr(skb)->frag_off & htons(IP_MF | IP_OFFSET)) { |
177 | if (ip_defrag(skb, IP_DEFRAG_CALL_RA_CHAIN)) { | 177 | if (ip_defrag(skb, IP_DEFRAG_CALL_RA_CHAIN)) { |
178 | read_unlock(&ip_ra_lock); | 178 | read_unlock(&ip_ra_lock); |
@@ -199,7 +199,7 @@ int ip_call_ra_chain(struct sk_buff *skb) | |||
199 | 199 | ||
200 | static int ip_local_deliver_finish(struct sk_buff *skb) | 200 | static int ip_local_deliver_finish(struct sk_buff *skb) |
201 | { | 201 | { |
202 | struct net *net = skb->dev->nd_net; | 202 | struct net *net = dev_net(skb->dev); |
203 | 203 | ||
204 | __skb_pull(skb, ip_hdrlen(skb)); | 204 | __skb_pull(skb, ip_hdrlen(skb)); |
205 | 205 | ||
@@ -291,7 +291,7 @@ static inline int ip_rcv_options(struct sk_buff *skb) | |||
291 | opt = &(IPCB(skb)->opt); | 291 | opt = &(IPCB(skb)->opt); |
292 | opt->optlen = iph->ihl*4 - sizeof(struct iphdr); | 292 | opt->optlen = iph->ihl*4 - sizeof(struct iphdr); |
293 | 293 | ||
294 | if (ip_options_compile(dev->nd_net, opt, skb)) { | 294 | if (ip_options_compile(dev_net(dev), opt, skb)) { |
295 | IP_INC_STATS_BH(IPSTATS_MIB_INHDRERRORS); | 295 | IP_INC_STATS_BH(IPSTATS_MIB_INHDRERRORS); |
296 | goto drop; | 296 | goto drop; |
297 | } | 297 | } |