openbsd_network: Increment the OPACKETS counter in ifq_dequeue.
Otherwise it's never incremented, and the number of transmitted packets in ifconfig would stay 0.
This commit is contained in:
@@ -29,13 +29,20 @@ ifq_enqueue(struct ifaltq *ifq, struct mbuf *m)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static struct mbuf*
|
static struct mbuf*
|
||||||
ifq_dequeue(struct ifaltq *ifq)
|
ifq_dequeue_openbsd(if_t ifp, struct ifaltq *ifq)
|
||||||
{
|
{
|
||||||
struct mbuf* m = NULL;
|
struct mbuf* m = NULL;
|
||||||
IF_DEQUEUE(ifq, m);
|
IF_DEQUEUE(ifq, m);
|
||||||
|
if (m != NULL && ifq == &ifp->if_snd) {
|
||||||
|
// OpenBSD drivers don't increment the OPACKETS counter directly,
|
||||||
|
// so we do it here.
|
||||||
|
if_inc_counter(ifp, IFCOUNTER_OPACKETS, 1);
|
||||||
|
}
|
||||||
return m;
|
return m;
|
||||||
}
|
}
|
||||||
|
#define ifq_dequeue(IFQ) ifq_dequeue_openbsd(ifp, IFQ)
|
||||||
|
|
||||||
|
|
||||||
#ifndef __cplusplus
|
#ifndef __cplusplus
|
||||||
|
|||||||
Reference in New Issue
Block a user