Lines Matching defs:ifq
1 /* $OpenBSD: ifq.h,v 1.42 2024/11/20 02:18:45 dlg Exp $ */
134 * = ifq API
136 * The ifq API provides functions for three distinct consumers:
218 * held. Because the ifq API manages the lock on behalf of the backend
289 * struct ifqueue *ifq = ifp->if_ifqs[i];
292 * ifq->ifq_softc = ring;
293 * ring->ifq = ifq;
299 * for each ifq in the system, and to serialise it with other work
307 * ifq_clr_oactive() against each ifq.
323 * drv_start(struct ifqueue *ifq)
325 * struct drv_tx_ring *ring = ifq->ifq_softc;
326 * struct ifnet *ifp = ifq->ifq_if;
332 * ifq_purge(ifq);
338 * ifq_set_oactive(ifq);
342 * m = ifq_dequeue(ifq);
365 * struct ifqueue *ifq = ring->ifq;
371 * if (ifq_is_oactive(ifq))
372 * ifq_restart(ifq);
385 * struct ifqueue *ifq;
392 * ifq = ifp->if_ifqs[i];
393 * ifq_barrier(ifq);
401 * ifq = ifp->if_ifqs[i];
402 * ifq_clr_oactive(ifq);
457 ifq_is_priq(struct ifqueue *ifq)
459 return (ifq->ifq_ops == ifq_priq_ops);
463 ifq_clr_oactive(struct ifqueue *ifq)
465 ifq->ifq_oactive = 0;
469 ifq_is_oactive(struct ifqueue *ifq)
471 return (ifq->ifq_oactive);
475 ifq_restart(struct ifqueue *ifq)
477 ifq_serialize(ifq, &ifq->ifq_restart);
481 ifq_idx(struct ifqueue *ifq, unsigned int nifqs, const struct mbuf *m)
483 return ((*ifq->ifq_ops->ifqop_idx)(nifqs, m));