Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 19 Mar 2014 06:08:03 +0000 (UTC)
From:      Gleb Smirnoff <glebius@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r263333 - head/sys/net
Message-ID:  <201403190608.s2J68370069412@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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));
 }



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201403190608.s2J68370069412>