Lines Matching refs:ifq

693 #define	IF_QFULL(ifq)		((ifq)->ifq_len >= (ifq)->ifq_maxlen)
694 #define IF_DROP(ifq) ((ifq)->ifq_drops++)
695 #define IF_ENQUEUE(ifq, m) do { \
697 if ((ifq)->ifq_tail == 0) \
698 (ifq)->ifq_head = m; \
700 (ifq)->ifq_tail->m_nextpkt = m; \
701 (ifq)->ifq_tail = m; \
702 (ifq)->ifq_len++; \
704 #define IF_PREPEND(ifq, m) do { \
705 (m)->m_nextpkt = (ifq)->ifq_head; \
706 if ((ifq)->ifq_tail == 0) \
707 (ifq)->ifq_tail = (m); \
708 (ifq)->ifq_head = (m); \
709 (ifq)->ifq_len++; \
711 #define IF_DEQUEUE(ifq, m) do { \
712 (m) = (ifq)->ifq_head; \
714 if (((ifq)->ifq_head = (m)->m_nextpkt) == 0) \
715 (ifq)->ifq_tail = 0; \
717 (ifq)->ifq_len--; \
720 #define IF_POLL(ifq, m) ((m) = (ifq)->ifq_head)
721 #define IF_PURGE(ifq) \
726 IF_DEQUEUE((ifq), __m0); \
733 #define IF_IS_EMPTY(ifq) ((ifq)->ifq_len == 0)
981 #define IFQ_ENQUEUE(ifq, m, err) \
983 mutex_enter((ifq)->ifq_lock); \
984 if (ALTQ_IS_ENABLED(ifq)) \
985 ALTQ_ENQUEUE((ifq), (m), (err)); \
987 if (IF_QFULL(ifq)) { \
991 IF_ENQUEUE((ifq), (m)); \
996 (ifq)->ifq_drops++; \
997 mutex_exit((ifq)->ifq_lock); \
1000 #define IFQ_DEQUEUE(ifq, m) \
1002 mutex_enter((ifq)->ifq_lock); \
1003 if (TBR_IS_ENABLED(ifq)) \
1004 (m) = tbr_dequeue((ifq), ALTDQ_REMOVE); \
1005 else if (ALTQ_IS_ENABLED(ifq)) \
1006 ALTQ_DEQUEUE((ifq), (m)); \
1008 IF_DEQUEUE((ifq), (m)); \
1009 mutex_exit((ifq)->ifq_lock); \
1012 #define IFQ_POLL(ifq, m) \
1014 mutex_enter((ifq)->ifq_lock); \
1015 if (TBR_IS_ENABLED(ifq)) \
1016 (m) = tbr_dequeue((ifq), ALTDQ_POLL); \
1017 else if (ALTQ_IS_ENABLED(ifq)) \
1018 ALTQ_POLL((ifq), (m)); \
1020 IF_POLL((ifq), (m)); \
1021 mutex_exit((ifq)->ifq_lock); \
1024 #define IFQ_PURGE(ifq) \
1026 mutex_enter((ifq)->ifq_lock); \
1027 if (ALTQ_IS_ENABLED(ifq)) \
1028 ALTQ_PURGE(ifq); \
1030 IF_PURGE(ifq); \
1031 mutex_exit((ifq)->ifq_lock); \
1034 #define IFQ_SET_READY(ifq) \
1036 (ifq)->altq_flags |= ALTQF_READY; \
1039 #define IFQ_CLASSIFY(ifq, m, af) \
1042 mutex_enter((ifq)->ifq_lock); \
1043 if (ALTQ_IS_ENABLED(ifq)) { \
1044 if (ALTQ_NEEDS_CLASSIFY(ifq)) \
1045 (m)->m_pkthdr.pattr_class = (*(ifq)->altq_classify) \
1046 ((ifq)->altq_clfier, (m), (af)); \
1050 mutex_exit((ifq)->ifq_lock); \
1053 #define IFQ_ENQUEUE(ifq, m, err) \
1055 mutex_enter((ifq)->ifq_lock); \
1056 if (IF_QFULL(ifq)) { \
1060 IF_ENQUEUE((ifq), (m)); \
1064 (ifq)->ifq_drops++; \
1065 mutex_exit((ifq)->ifq_lock); \
1068 #define IFQ_DEQUEUE(ifq, m) \
1070 mutex_enter((ifq)->ifq_lock); \
1071 IF_DEQUEUE((ifq), (m)); \
1072 mutex_exit((ifq)->ifq_lock); \
1075 #define IFQ_POLL(ifq, m) \
1077 mutex_enter((ifq)->ifq_lock); \
1078 IF_POLL((ifq), (m)); \
1079 mutex_exit((ifq)->ifq_lock); \
1082 #define IFQ_PURGE(ifq) \
1084 mutex_enter((ifq)->ifq_lock); \
1085 IF_PURGE(ifq); \
1086 mutex_exit((ifq)->ifq_lock); \
1089 #define IFQ_SET_READY(ifq) /* nothing */
1091 #define IFQ_CLASSIFY(ifq, m, af) /* nothing */
1095 #define IFQ_LOCK_INIT(ifq) (ifq)->ifq_lock = \
1097 #define IFQ_LOCK_DESTROY(ifq) mutex_obj_free((ifq)->ifq_lock)
1098 #define IFQ_LOCK(ifq) mutex_enter((ifq)->ifq_lock)
1099 #define IFQ_UNLOCK(ifq) mutex_exit((ifq)->ifq_lock)
1101 #define IFQ_IS_EMPTY(ifq) IF_IS_EMPTY(ifq)
1102 #define IFQ_INC_LEN(ifq) ((ifq)->ifq_len++)
1103 #define IFQ_DEC_LEN(ifq) (--(ifq)->ifq_len)
1104 #define IFQ_INC_DROPS(ifq) ((ifq)->ifq_drops++)
1105 #define IFQ_SET_MAXLEN(ifq, len) ((ifq)->ifq_maxlen = (len))
1402 * ifq sysctl support
1406 struct ifqueue *ifq);