diff options
author | Eric W. Biederman <ebiederm@xmission.com> | 2015-09-16 04:03:55 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-09-18 03:18:33 +0300 |
commit | f8e1ac7912700914e4d6d129d38ecbcff8e4f4c4 (patch) | |
tree | f30fca81782842aa515b15f51fdbb09f79a746f6 /net/ipv4/ip_forward.c | |
parent | fcad0ac2da05d5ed443acee7abd69e24e69037ca (diff) | |
download | linux-f8e1ac7912700914e4d6d129d38ecbcff8e4f4c4.tar.xz |
ipv4: Compute net once in ip_forward_finish
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/ip_forward.c')
-rw-r--r-- | net/ipv4/ip_forward.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/net/ipv4/ip_forward.c b/net/ipv4/ip_forward.c index ba2f66b3b3f6..95235c813f18 100644 --- a/net/ipv4/ip_forward.c +++ b/net/ipv4/ip_forward.c @@ -63,10 +63,11 @@ static bool ip_exceeds_mtu(const struct sk_buff *skb, unsigned int mtu) static int ip_forward_finish(struct sock *sk, struct sk_buff *skb) { + struct net *net = dev_net(skb_dst(skb)->dev); struct ip_options *opt = &(IPCB(skb)->opt); - IP_INC_STATS_BH(dev_net(skb_dst(skb)->dev), IPSTATS_MIB_OUTFORWDATAGRAMS); - IP_ADD_STATS_BH(dev_net(skb_dst(skb)->dev), IPSTATS_MIB_OUTOCTETS, skb->len); + IP_INC_STATS_BH(net, IPSTATS_MIB_OUTFORWDATAGRAMS); + IP_ADD_STATS_BH(net, IPSTATS_MIB_OUTOCTETS, skb->len); if (unlikely(opt->optlen)) ip_forward_options(skb); |