ip6_tunnel: allow not to count pkts on tstats by passing dev as NULL
authorXin Long <lucien.xin@gmail.com>
Mon, 17 Jun 2019 13:34:14 +0000 (21:34 +0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 19 Jun 2019 00:48:45 +0000 (20:48 -0400)
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>
include/net/ip6_tunnel.h

index 69b4bcf880c9ec5ece7597964df6e08e912c24e8..028eaea1c854493fdab40f655216230e991e2fc5 100644 (file)
@@ -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