-
-#define SCIDX_BK_SYS MBUF_SCIDX(MBUF_SC_BK_SYS)
-#define SCIDX_BK MBUF_SCIDX(MBUF_SC_BK)
-#define SCIDX_BE MBUF_SCIDX(MBUF_SC_BE)
-#define SCIDX_RD MBUF_SCIDX(MBUF_SC_RD)
-#define SCIDX_OAM MBUF_SCIDX(MBUF_SC_OAM)
-#define SCIDX_AV MBUF_SCIDX(MBUF_SC_AV)
-#define SCIDX_RV MBUF_SCIDX(MBUF_SC_RV)
-#define SCIDX_VI MBUF_SCIDX(MBUF_SC_VI)
-#define SCIDX_VO MBUF_SCIDX(MBUF_SC_VO)
-#define SCIDX_CTL MBUF_SCIDX(MBUF_SC_CTL)
-
-#define SCVAL_BK_SYS MBUF_SCVAL(MBUF_SC_BK_SYS)
-#define SCVAL_BK MBUF_SCVAL(MBUF_SC_BK)
-#define SCVAL_BE MBUF_SCVAL(MBUF_SC_BE)
-#define SCVAL_RD MBUF_SCVAL(MBUF_SC_RD)
-#define SCVAL_OAM MBUF_SCVAL(MBUF_SC_OAM)
-#define SCVAL_AV MBUF_SCVAL(MBUF_SC_AV)
-#define SCVAL_RV MBUF_SCVAL(MBUF_SC_RV)
-#define SCVAL_VI MBUF_SCVAL(MBUF_SC_VI)
-#define SCVAL_VO MBUF_SCVAL(MBUF_SC_VO)
-#define SCVAL_CTL MBUF_SCVAL(MBUF_SC_CTL)
-
-#define MBUF_VALID_SC(c) \
- (c == MBUF_SC_BK_SYS || c == MBUF_SC_BK || c == MBUF_SC_BE || \
- c == MBUF_SC_RD || c == MBUF_SC_OAM || c == MBUF_SC_AV || \
- c == MBUF_SC_RV || c == MBUF_SC_VI || c == MBUF_SC_VO || \
- c == MBUF_SC_CTL)
-
-#define MBUF_VALID_SCIDX(c) \
- (c == SCIDX_BK_SYS || c == SCIDX_BK || c == SCIDX_BE || \
- c == SCIDX_RD || c == SCIDX_OAM || c == SCIDX_AV || \
- c == SCIDX_RV || c == SCIDX_VI || c == SCIDX_VO || \
- c == SCIDX_CTL)
-
-#define MBUF_VALID_SCVAL(c) \
- (c == SCVAL_BK_SYS || c == SCVAL_BK || c == SCVAL_BE || \
- c == SCVAL_RD || c == SCVAL_OAM || c == SCVAL_AV || \
- c == SCVAL_RV || c == SCVAL_VI || c == SCVAL_VO || \
- c == SCVAL_CTL)
-
-extern union mbigcluster *mbutl; /* start VA of mbuf pool */
-extern union mbigcluster *embutl; /* end VA of mbuf pool */
-extern unsigned int nmbclusters; /* number of mapped clusters */
-extern int njcl; /* # of jumbo clusters */
-extern int njclbytes; /* size of a jumbo cluster */
-extern int max_hdr; /* largest link+protocol header */
-extern int max_datalen; /* MHLEN - max_hdr */
+#define IS_MBUF_SC_REALTIME(_sc) ((_sc) >= MBUF_SC_AV && (_sc) <= MBUF_SC_VO)
+#define IS_MBUF_SC_BESTEFFORT(_sc) ((_sc) == MBUF_SC_BE || \
+ (_sc) == MBUF_SC_RD || (_sc) == MBUF_SC_OAM)
+
+#define SCIDX_BK_SYS MBUF_SCIDX(MBUF_SC_BK_SYS)
+#define SCIDX_BK MBUF_SCIDX(MBUF_SC_BK)
+#define SCIDX_BE MBUF_SCIDX(MBUF_SC_BE)
+#define SCIDX_RD MBUF_SCIDX(MBUF_SC_RD)
+#define SCIDX_OAM MBUF_SCIDX(MBUF_SC_OAM)
+#define SCIDX_AV MBUF_SCIDX(MBUF_SC_AV)
+#define SCIDX_RV MBUF_SCIDX(MBUF_SC_RV)
+#define SCIDX_VI MBUF_SCIDX(MBUF_SC_VI)
+#define SCIDX_SIG MBUF_SCIDX(MBUF_SC_SIG)
+#define SCIDX_VO MBUF_SCIDX(MBUF_SC_VO)
+#define SCIDX_CTL MBUF_SCIDX(MBUF_SC_CTL)
+
+#define SCVAL_BK_SYS MBUF_SCVAL(MBUF_SC_BK_SYS)
+#define SCVAL_BK MBUF_SCVAL(MBUF_SC_BK)
+#define SCVAL_BE MBUF_SCVAL(MBUF_SC_BE)
+#define SCVAL_RD MBUF_SCVAL(MBUF_SC_RD)
+#define SCVAL_OAM MBUF_SCVAL(MBUF_SC_OAM)
+#define SCVAL_AV MBUF_SCVAL(MBUF_SC_AV)
+#define SCVAL_RV MBUF_SCVAL(MBUF_SC_RV)
+#define SCVAL_VI MBUF_SCVAL(MBUF_SC_VI)
+#define SCVAL_SIG MBUF_SCVAL(MBUF_SC_SIG)
+#define SCVAL_VO MBUF_SCVAL(MBUF_SC_VO)
+#define SCVAL_CTL MBUF_SCVAL(MBUF_SC_CTL)
+
+#define MBUF_VALID_SC(c) \
+ (c == MBUF_SC_BK_SYS || c == MBUF_SC_BK || c == MBUF_SC_BE || \
+ c == MBUF_SC_RD || c == MBUF_SC_OAM || c == MBUF_SC_AV || \
+ c == MBUF_SC_RV || c == MBUF_SC_VI || c == MBUF_SC_SIG || \
+ c == MBUF_SC_VO || c == MBUF_SC_CTL)
+
+#define MBUF_VALID_SCIDX(c) \
+ (c == SCIDX_BK_SYS || c == SCIDX_BK || c == SCIDX_BE || \
+ c == SCIDX_RD || c == SCIDX_OAM || c == SCIDX_AV || \
+ c == SCIDX_RV || c == SCIDX_VI || c == SCIDX_SIG || \
+ c == SCIDX_VO || c == SCIDX_CTL)
+
+#define MBUF_VALID_SCVAL(c) \
+ (c == SCVAL_BK_SYS || c == SCVAL_BK || c == SCVAL_BE || \
+ c == SCVAL_RD || c == SCVAL_OAM || c == SCVAL_AV || \
+ c == SCVAL_RV || c == SCVAL_VI || c == SCVAL_SIG || \
+ c == SCVAL_VO || SCVAL_CTL)
+
+extern unsigned char *mbutl; /* start VA of mbuf pool */
+extern unsigned char *embutl; /* end VA of mbuf pool */
+extern unsigned int nmbclusters; /* number of mapped clusters */
+extern int njcl; /* # of jumbo clusters */
+extern int njclbytes; /* size of a jumbo cluster */
+extern int max_hdr; /* largest link+protocol header */
+extern int max_datalen; /* MHLEN - max_hdr */