diff options
author | Xin Long <lucien.xin@gmail.com> | 2019-06-17 21:34:14 +0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-06-18 20:48:45 -0400 |
commit | 6f6a8622057c92408930c31698394fae1557b188 (patch) | |
tree | 69cf7ce4dd3232a849220107317f82a7a220765c /include/net/ip6_tunnel.h | |
parent | 5684abf7020dfc5f0b6ba1d68eda3663871fce52 (diff) | |
download | linux-6f6a8622057c92408930c31698394fae1557b188.tar.gz linux-6f6a8622057c92408930c31698394fae1557b188.tar.bz2 linux-6f6a8622057c92408930c31698394fae1557b188.zip |
ip6_tunnel: allow not to count pkts on tstats by passing dev as NULL
A similar fix to Patch "ip_tunnel: allow not to count pkts on tstats by
setting skb's dev to NULL" is also needed by ip6_tunnel.
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/ip6_tunnel.h')
-rw-r--r-- | include/net/ip6_tunnel.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/include/net/ip6_tunnel.h b/include/net/ip6_tunnel.h index 69b4bcf880c9..028eaea1c854 100644 --- a/include/net/ip6_tunnel.h +++ b/include/net/ip6_tunnel.h @@ -158,9 +158,12 @@ static inline void ip6tunnel_xmit(struct sock *sk, struct sk_buff *skb, memset(skb->cb, 0, sizeof(struct inet6_skb_parm)); pkt_len = skb->len - skb_inner_network_offset(skb); err = ip6_local_out(dev_net(skb_dst(skb)->dev), sk, skb); - if (unlikely(net_xmit_eval(err))) - pkt_len = -1; - iptunnel_xmit_stats(dev, pkt_len); + + if (dev) { + if (unlikely(net_xmit_eval(err))) + pkt_len = -1; + iptunnel_xmit_stats(dev, pkt_len); + } } #endif #endif |