| IFQ_DEQ_BEGIN(9) | Kernel Developer's Manual | IFQ_DEQ_BEGIN(9) |
ifq_deq_begin,
ifq_deq_commit,
ifq_deq_rollback — dequeue
an mbuf from an interface sending queue
#include
<net/if_var.h>
struct mbuf *
ifq_deq_begin(struct
ifqueue *ifq);
void
ifq_deq_commit(struct
ifqueue *ifq, struct mbuf
*m);
void
ifq_deq_rollback(struct
ifqueue *ifq, struct mbuf
*m);
The ifq_deq_* set of functions provides a non-atomic alternative to ifq_dequeue(9). Their use is discouraged, code should use ifq_dequeue(9) whenever possible.
ifq_deq_begin(struct
ifqueue *ifq)ifq_deq_commit().ifq_deq_commit(struct ifqueue
*ifq, struct mbuf *m)ifq_deq_begin() and release the lock on
ifq.ifq_deq_rollback(struct
ifqueue *ifq, struct mbuf *m)ifq_deq_begin(),
ifq_deq_commit(), and
ifq_deq_rollback() can be called during autoconf,
from process context, or from interrupt context.
ifq_deq_begin() returns the next mbuf to
be transmitted by the interface. If no packet is available for transmission,
NULL is returned.
| March 20, 2021 | Debian |