ip6gre: avoid tx_error when sending MLD/DAD on external tunnels
authorDavide Caratti <dcaratti@redhat.com>
Sun, 27 Sep 2020 14:08:21 +0000 (16:08 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 28 Sep 2020 23:01:37 +0000 (16:01 -0700)
commite5f7e211b6aa19d5398abe3d91a508bf7f06ed54
tree72650203e845b53e7eacc130aabf30d906172763
parentbe589d04281495e00fd2fa5733076aed459953b7
ip6gre: avoid tx_error when sending MLD/DAD on external tunnels

similarly to what has been done with commit 9d149045b3c0 ("geneve: change
from tx_error to tx_dropped on missing metadata"), avoid reporting errors
to userspace in case the kernel doesn't find any tunnel information for a
skb that is going to be transmitted: an increase of tx_dropped is enough.

tested with the following script:

 # for t in ip6gre ip6gretap ip6erspan; do
 > ip link add dev gre6-test0 type $t external
 > ip address add dev gre6-test0 2001:db8::1/64
 > ip link set dev gre6-test0 up
 > sleep 30
 > ip -s -j link show dev gre6-test0 | jq \
 > '.[0].stats64.tx | {"errors": .errors, "dropped": .dropped}'
 > ip link del dev gre6-test0
 > done

Reported-by: Jianlin Shi <jishi@redhat.com>
Signed-off-by: Davide Caratti <dcaratti@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/ip6_gre.c