summaryrefslogtreecommitdiffstats
path: root/sys/net/if_tun.c
diff options
context:
space:
mode:
authoryongari <yongari@FreeBSD.org>2011-05-06 20:37:07 +0000
committeryongari <yongari@FreeBSD.org>2011-05-06 20:37:07 +0000
commitb282e7aca84e59ffa94a99c9f249633683995f1f (patch)
tree90d21b7306456a2d1f716fbaabea548d13177650 /sys/net/if_tun.c
parent0e8f2a36e9862d79bea5556019ec1878e21e4951 (diff)
downloadFreeBSD-src-b282e7aca84e59ffa94a99c9f249633683995f1f.zip
FreeBSD-src-b282e7aca84e59ffa94a99c9f249633683995f1f.tar.gz
Do not increment collision counter if transmit have failed.
Transmission error in tun(4) is queueing error(i.e. ENOBUFS) and it has nothing to do with collision. Reported by: Zeus V Panchenko (zeus <> ibs dot dn dot ua)
Diffstat (limited to 'sys/net/if_tun.c')
-rw-r--r--sys/net/if_tun.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/sys/net/if_tun.c b/sys/net/if_tun.c
index 7c01ebe..f834961 100644
--- a/sys/net/if_tun.c
+++ b/sys/net/if_tun.c
@@ -661,10 +661,8 @@ tunoutput(
}
error = (ifp->if_transmit)(ifp, m0);
- if (error) {
- ifp->if_collisions++;
+ if (error)
return (ENOBUFS);
- }
ifp->if_opackets++;
return (0);
}
OpenPOWER on IntegriCloud