Author: yongari
Date: Fri May  6 20:37:07 2011
New Revision: 221548
URL: http://svn.freebsd.org/changeset/base/221548

Log:
  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)

Modified:
  head/sys/net/if_tun.c

Modified: head/sys/net/if_tun.c
==============================================================================
--- head/sys/net/if_tun.c       Fri May  6 20:04:47 2011        (r221547)
+++ head/sys/net/if_tun.c       Fri May  6 20:37:07 2011        (r221548)
@@ -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);
 }
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to