summaryrefslogtreecommitdiffstats
path: root/sys/contrib/altq/altq/altq_priq.h
diff options
context:
space:
mode:
authorRenato Botelho <renato@netgate.com>2015-08-17 13:53:12 -0300
committerRenato Botelho <renato@netgate.com>2015-08-17 13:53:12 -0300
commitcf3bb1a7166bec431631defe01c8d4e706a99638 (patch)
tree3cc07def4201a551fbc77acd53bb98a846b9deb9 /sys/contrib/altq/altq/altq_priq.h
parent2802b30081525836ca4599c79f53541b2085a3ac (diff)
downloadFreeBSD-src-cf3bb1a7166bec431631defe01c8d4e706a99638.zip
FreeBSD-src-cf3bb1a7166bec431631defe01c8d4e706a99638.tar.gz
Importing pfSense patch altq_codel.diff
Diffstat (limited to 'sys/contrib/altq/altq/altq_priq.h')
-rw-r--r--sys/contrib/altq/altq/altq_priq.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/sys/contrib/altq/altq/altq_priq.h b/sys/contrib/altq/altq/altq_priq.h
index 481d31b..b5b062f 100644
--- a/sys/contrib/altq/altq/altq_priq.h
+++ b/sys/contrib/altq/altq/altq_priq.h
@@ -32,6 +32,7 @@
#include <altq/altq_classq.h>
#include <altq/altq_red.h>
#include <altq/altq_rio.h>
+#include <altq/altq_codel.h>
#ifdef __cplusplus
extern "C" {
@@ -59,6 +60,7 @@ struct priq_add_class {
#define PRCF_RED 0x0001 /* use RED */
#define PRCF_ECN 0x0002 /* use RED/ECN */
#define PRCF_RIO 0x0004 /* use RIO */
+#define PRCF_CODEL 0x0008 /* use CODEL */
#define PRCF_CLEARDSCP 0x0010 /* clear diffserv codepoint */
#define PRCF_DEFAULTCLASS 0x1000 /* default class */
@@ -105,6 +107,7 @@ struct priq_classstats {
/* red and rio related info */
int qtype;
struct redstats red[3]; /* rio has 3 red stats */
+ struct codel_stats codel;
};
#ifdef ALTQ3_COMPAT
@@ -134,7 +137,10 @@ struct priq_class_stats {
struct priq_class {
u_int32_t cl_handle; /* class handle */
class_queue_t *cl_q; /* class queue structure */
- struct red *cl_red; /* RED state */
+ union {
+ struct red *cl_red; /* RED state */
+ struct codel *cl_codel; /* CoDel state */
+ } cl_aqm;
int cl_pri; /* priority */
int cl_flags; /* class flags */
struct priq_if *cl_pif; /* back pointer to pif */
@@ -145,7 +151,8 @@ struct priq_class {
struct pktcntr cl_xmitcnt; /* transmitted packet counter */
struct pktcntr cl_dropcnt; /* dropped packet counter */
};
-
+#define cl_red cl_aqm.cl_red
+#define cl_codel cl_aqm.cl_codel
/*
* priq interface state
*/
OpenPOWER on IntegriCloud