hi,

drivers ex age alc ale jme se vic vte xe upl and octeon/cmac
make use of the if_iqdrops counter that is not shown by any of our
tools (like netstat).  looks like most of its usage comes from
freebsd where they show it in the "netstat -di" output in a new
column.  do we want to do that or just convert them to if_ierrors
since 90% of our drivers do only if_ierrors.  there's also doesn't
seem to be any rule when to use if_iqdrops (well, since in most
drivers there's no input queueing -- check out upl(4) :)

the diff below changes all the drivers in our tree to use
if_ierrors instead of if_iqdrops.  i've decided to leave
octeon/cmac driver as is because if_iqdrops is used for
debugging purposes there.

ack?  nack?  meh?

diff --git sys/dev/isa/if_ex.c sys/dev/isa/if_ex.c
index 49eb077..f93165f 100644
--- sys/dev/isa/if_ex.c
+++ sys/dev/isa/if_ex.c
@@ -661,7 +661,7 @@ ex_rx_intr(struct ex_softc *sc)
                        MGETHDR(m, M_DONTWAIT, MT_DATA);
                        ipkt = m;
                        if (ipkt == NULL)
-                               ifp->if_iqdrops++;
+                               ifp->if_ierrors++;
                        else {
                                ipkt->m_pkthdr.rcvif = ifp;
                                ipkt->m_pkthdr.len = pkt_len;
@@ -673,7 +673,7 @@ ex_rx_intr(struct ex_softc *sc)
                                                        m->m_len = MCLBYTES;
                                                else {
                                                        m_freem(ipkt);
-                                                       ifp->if_iqdrops++;
+                                                       ifp->if_ierrors++;
                                                        goto rx_another;
                                                }
                                        }
@@ -696,7 +696,7 @@ ex_rx_intr(struct ex_softc *sc)
                                                    MT_DATA);
                                        if (m->m_next == NULL) {
                                                m_freem(ipkt);
-                                               ifp->if_iqdrops++;
+                                               ifp->if_ierrors++;
                                                goto rx_another;
                                        }
                                        m = m->m_next;
diff --git sys/dev/pci/if_age.c sys/dev/pci/if_age.c
index f5f6de5..53903c1 100644
--- sys/dev/pci/if_age.c
+++ sys/dev/pci/if_age.c
@@ -1329,7 +1329,7 @@ age_rxeof(struct age_softc *sc, struct rx_rdesc *rxrd)
                desc = rxd->rx_desc;
                /* Add a new receive buffer to the ring. */
                if (age_newbuf(sc, rxd) != 0) {
-                       ifp->if_iqdrops++;
+                       ifp->if_ierrors++;
                        /* Reuse Rx buffers. */
                        if (sc->age_cdata.age_rxhead != NULL) {
                                m_freem(sc->age_cdata.age_rxhead);
diff --git sys/dev/pci/if_alc.c sys/dev/pci/if_alc.c
index eac4148..ef22bb5 100644
--- sys/dev/pci/if_alc.c
+++ sys/dev/pci/if_alc.c
@@ -1952,7 +1952,7 @@ alc_rxeof(struct alc_softc *sc, struct rx_rdesc *rrd)
                mp = rxd->rx_m;
                /* Add a new receive buffer to the ring. */
                if (alc_newbuf(sc, rxd) != 0) {
-                       ifp->if_iqdrops++;
+                       ifp->if_ierrors++;
                        /* Reuse Rx buffers. */
                        if (sc->alc_cdata.alc_rxhead != NULL)
                                m_freem(sc->alc_cdata.alc_rxhead);
diff --git sys/dev/pci/if_ale.c sys/dev/pci/if_ale.c
index 1e5004e..ef6348f 100644
--- sys/dev/pci/if_ale.c
+++ sys/dev/pci/if_ale.c
@@ -1552,7 +1552,7 @@ ale_rxeof(struct ale_softc *sc)
                m = m_devget((char *)(rs + 1), length - ETHER_CRC_LEN,
                    ETHER_ALIGN, ifp, NULL);
                if (m == NULL) {
-                       ifp->if_iqdrops++;
+                       ifp->if_ierrors++;
                        ale_rx_update_page(sc, &rx_page, length, &prod);
                        continue;
                }
diff --git sys/dev/pci/if_jme.c sys/dev/pci/if_jme.c
index 25c954f..37a1efa 100644
--- sys/dev/pci/if_jme.c
+++ sys/dev/pci/if_jme.c
@@ -1602,7 +1602,7 @@ jme_rxpkt(struct jme_softc *sc)
 
                /* Add a new receive buffer to the ring. */
                if (jme_newbuf(sc, rxd) != 0) {
-                       ifp->if_iqdrops++;
+                       ifp->if_ierrors++;
                        /* Reuse buffer. */
                        jme_discard_rxbufs(sc, cons, nsegs - count);
                        if (sc->jme_cdata.jme_rxhead != NULL) {
diff --git sys/dev/pci/if_se.c sys/dev/pci/if_se.c
index 1c75288..b2206ae 100644
--- sys/dev/pci/if_se.c
+++ sys/dev/pci/if_se.c
@@ -947,7 +947,7 @@ se_rxeof(struct se_softc *sc)
                m = cd->se_rx_mbuf[i];
                if (se_newbuf(sc, i) != 0) {
                        se_discard_rxbuf(sc, i);
-                       ifp->if_iqdrops++;
+                       ifp->if_ierrors++;
                        continue;
                }
                /*
diff --git sys/dev/pci/if_vic.c sys/dev/pci/if_vic.c
index 247c880..78cece0 100644
--- sys/dev/pci/if_vic.c
+++ sys/dev/pci/if_vic.c
@@ -858,7 +858,7 @@ vic_rx_proc(struct vic_softc *sc, int q)
                if (len < VIC_MIN_FRAMELEN) {
                        m_freem(m);
 
-                       ifp->if_iqdrops++;
+                       ifp->if_ierrors++;
                        goto nextp;
                }
 
diff --git sys/dev/pci/if_vte.c sys/dev/pci/if_vte.c
index fec0bb5..4e4dc32 100644
--- sys/dev/pci/if_vte.c
+++ sys/dev/pci/if_vte.c
@@ -1033,7 +1033,7 @@ vte_rxeof(struct vte_softc *sc)
                        continue;
                }
                if (vte_newbuf(sc, rxd, 0) != 0) {
-                       ifp->if_iqdrops++;
+                       ifp->if_ierrors++;
                        rxd->rx_desc->drlen =
                            htole16(MCLBYTES - sizeof(uint32_t));
                        rxd->rx_desc->drst = htole16(VTE_DRST_RX_OWN);
diff --git sys/dev/pcmcia/if_xe.c sys/dev/pcmcia/if_xe.c
index b2d10ad..a6f3f9a 100644
--- sys/dev/pcmcia/if_xe.c
+++ sys/dev/pcmcia/if_xe.c
@@ -684,7 +684,7 @@ xe_intr(arg)
                        DPRINTF(XED_INTR,
                            ("%s: too many bytes this interrupt\n",
                            sc->sc_dev.dv_xname));
-                       ifp->if_iqdrops++;
+                       ifp->if_ierrors++;
                        /* Drop packet. */
                        bus_space_write_2(sc->sc_bst, sc->sc_bsh,
                            sc->sc_offset + DO0, DO_SKIP_RX_PKT);
diff --git sys/dev/usb/if_upl.c sys/dev/usb/if_upl.c
index a42b850..4008e51 100644
--- sys/dev/usb/if_upl.c
+++ sys/dev/usb/if_upl.c
@@ -1011,7 +1011,7 @@ upl_input(struct ifnet *ifp, struct mbuf *m)
                if (sc->sc_flags & SC_DEBUG)
                        printf("%s: input queue full\n", ifp->if_xname);
 #endif
-               ifp->if_iqdrops++;
+               ifp->if_ierrors++;
                return;
        }
        IF_ENQUEUE(inq, m);
diff --git sys/net/if_ppp.c sys/net/if_ppp.c
index f7cf3d3..0320676 100644
--- sys/net/if_ppp.c
+++ sys/net/if_ppp.c
@@ -1520,7 +1520,7 @@ ppp_inproc(struct ppp_softc *sc, struct mbuf *m)
        splx(s);
        if (sc->sc_flags & SC_DEBUG)
            printf("%s: input queue full\n", ifp->if_xname);
-       ifp->if_iqdrops++;
+       ifp->if_ierrors++;
        if (!inq->ifq_congestion)
                if_congestion(inq);
        goto bad;
diff --git sys/net/if_sl.c sys/net/if_sl.c
index 7b48118..d81c46e 100644
--- sys/net/if_sl.c
+++ sys/net/if_sl.c
@@ -887,7 +887,6 @@ slinput(c, tp)
                if (IF_QFULL(&ipintrq)) {
                        IF_DROP(&ipintrq);
                        sc->sc_if.if_ierrors++;
-                       sc->sc_if.if_iqdrops++;
                        m_freem(m);
                        if (!ipintrq.ifq_congestion)
                                if_congestion(&ipintrq);
diff --git sys/net/if_spppsubr.c sys/net/if_spppsubr.c
index 91a3652..9a257fc 100644
--- sys/net/if_spppsubr.c
+++ sys/net/if_spppsubr.c
@@ -504,7 +504,6 @@ sppp_input(struct ifnet *ifp, struct mbuf *m)
                            SPP_ARGS(ifp), m->m_pkthdr.len);
          drop:
                ++ifp->if_ierrors;
-               ++ifp->if_iqdrops;
                m_freem (m);
                return;
        }
@@ -532,7 +531,6 @@ sppp_input(struct ifnet *ifp, struct mbuf *m)
                                log(LOG_DEBUG,
                                    SPP_FMT "Failed to align packet!\n", 
SPP_ARGS(ifp));
                        ++ifp->if_ierrors;
-                       ++ifp->if_iqdrops;
                        return;
                }
        }

Reply via email to