df5e198723
before adding/removing packets from the queue. Also, the if_obytes and if_omcasts fields should only be manipulated under protection of the mutex. IF_ENQUEUE, IF_PREPEND, and IF_DEQUEUE perform all necessary locking on the queue. An IF_LOCK macro is provided, as well as the old (mutex-less) versions of the macros in the form _IF_ENQUEUE, _IF_QFULL, for code which needs them, but their use is discouraged. Two new macros are introduced: IF_DRAIN() to drain a queue, and IF_HANDOFF, which takes care of locking/enqueue, and also statistics updating/start if necessary. |
||
---|---|---|
.. | ||
i4b_asuscom_ipac.c | ||
i4b_avm_a1.c | ||
i4b_bchan.c | ||
i4b_ctx_s0P.c | ||
i4b_drn_ngo.c | ||
i4b_dynalink.c | ||
i4b_elsa_pcc16.c | ||
i4b_elsa_qs1i.c | ||
i4b_elsa_qs1p.c | ||
i4b_hscx.c | ||
i4b_hscx.h | ||
i4b_ipac.h | ||
i4b_isac.c | ||
i4b_isac.h | ||
i4b_isic_ext.h | ||
i4b_isic_isa.c | ||
i4b_isic_pnp.c | ||
i4b_isic.c | ||
i4b_isic.h | ||
i4b_itk_ix1.c | ||
i4b_l1.c | ||
i4b_l1fsm.c | ||
i4b_siemens_isurf.c | ||
i4b_sws.c | ||
i4b_tel_s08.c | ||
i4b_tel_s016.c | ||
i4b_tel_s0163.c | ||
i4b_usr_sti.c |