svn commit: r263333 - head/sys/net

Gleb Smirnoff glebius at FreeBSD.org
Wed Mar 19 06:08:04 UTC 2014


Author: glebius
Date: Wed Mar 19 06:08:03 2014
New Revision: 263333
URL: http://svnweb.freebsd.org/changeset/base/263333

Log:
  When exporting ifnet via sysctl, add ifqueue(9) drop count to the
  ifi_oqdrops. This is a temporary workaround until ifqueue(9) vanishes.
  
  While here, remove the pointless ifi_vhid assignment. It has
  sense only when we are exporting ifaddrs, not ifnets.
  
  Sponsored by:	Netflix
  Sponsored by:	Nginx, Inc.

Modified:
  head/sys/net/rtsock.c

Modified: head/sys/net/rtsock.c
==============================================================================
--- head/sys/net/rtsock.c	Wed Mar 19 06:03:26 2014	(r263332)
+++ head/sys/net/rtsock.c	Wed Mar 19 06:08:03 2014	(r263333)
@@ -1598,9 +1598,8 @@ sysctl_iflist_ifml(struct ifnet *ifp, st
 
 	*ifd = ifp->if_data;
 
-	/* Fixup if_data carp(4) vhid. */
-	if (carp_get_vhid_p != NULL)
-		ifd->ifi_vhid = (*carp_get_vhid_p)(ifp->if_addr);
+	/* Some drivers still use ifqueue(9), add its stats. */
+	ifd->ifi_oqdrops += ifp->if_snd.ifq_drops;
 
 	return (SYSCTL_OUT(w->w_req, (caddr_t)ifm, len));
 }
@@ -1633,9 +1632,9 @@ sysctl_iflist_ifm(struct ifnet *ifp, str
 	}
 
 	*ifd = ifp->if_data;
-	/* Fixup if_data carp(4) vhid. */
-	if (carp_get_vhid_p != NULL)
-		ifd->ifi_vhid = (*carp_get_vhid_p)(ifp->if_addr);
+
+	/* Some drivers still use ifqueue(9), add its stats. */
+	ifd->ifi_oqdrops += ifp->if_snd.ifq_drops;
 
 	return (SYSCTL_OUT(w->w_req, (caddr_t)ifm, len));
 }


More information about the svn-src-all mailing list