Changeset View
Changeset View
Standalone View
Standalone View
sys/net/altq/altq_cbq.h
Show All 30 Lines | |||||
* $FreeBSD$ | * $FreeBSD$ | ||||
*/ | */ | ||||
#ifndef _ALTQ_ALTQ_CBQ_H_ | #ifndef _ALTQ_ALTQ_CBQ_H_ | ||||
#define _ALTQ_ALTQ_CBQ_H_ | #define _ALTQ_ALTQ_CBQ_H_ | ||||
#include <net/altq/altq.h> | #include <net/altq/altq.h> | ||||
#include <net/altq/altq_rmclass.h> | #include <net/altq/altq_rmclass.h> | ||||
#include <net/altq/altq_codel.h> | |||||
#include <net/altq/altq_red.h> | #include <net/altq/altq_red.h> | ||||
#include <net/altq/altq_rio.h> | #include <net/altq/altq_rio.h> | ||||
#ifdef __cplusplus | #ifdef __cplusplus | ||||
extern "C" { | extern "C" { | ||||
#endif | #endif | ||||
#define NULL_CLASS_HANDLE 0 | #define NULL_CLASS_HANDLE 0 | ||||
/* class flags should be same as class flags in rm_class.h */ | /* class flags should be same as class flags in rm_class.h */ | ||||
#define CBQCLF_RED 0x0001 /* use RED */ | #define CBQCLF_RED 0x0001 /* use RED */ | ||||
#define CBQCLF_ECN 0x0002 /* use RED/ECN */ | #define CBQCLF_ECN 0x0002 /* use RED/ECN */ | ||||
#define CBQCLF_RIO 0x0004 /* use RIO */ | #define CBQCLF_RIO 0x0004 /* use RIO */ | ||||
#define CBQCLF_FLOWVALVE 0x0008 /* use flowvalve (aka penalty-box) */ | #define CBQCLF_FLOWVALVE 0x0008 /* use flowvalve (aka penalty-box) */ | ||||
#define CBQCLF_CLEARDSCP 0x0010 /* clear diffserv codepoint */ | #define CBQCLF_CLEARDSCP 0x0010 /* clear diffserv codepoint */ | ||||
#define CBQCLF_BORROW 0x0020 /* borrow from parent */ | #define CBQCLF_BORROW 0x0020 /* borrow from parent */ | ||||
#define CBQCLF_CODEL 0x0040 /* use CoDel */ | |||||
/* class flags only for root class */ | /* class flags only for root class */ | ||||
#define CBQCLF_WRR 0x0100 /* weighted-round robin */ | #define CBQCLF_WRR 0x0100 /* weighted-round robin */ | ||||
#define CBQCLF_EFFICIENT 0x0200 /* work-conserving */ | #define CBQCLF_EFFICIENT 0x0200 /* work-conserving */ | ||||
/* class flags for special classes */ | /* class flags for special classes */ | ||||
#define CBQCLF_ROOTCLASS 0x1000 /* root class */ | #define CBQCLF_ROOTCLASS 0x1000 /* root class */ | ||||
#define CBQCLF_DEFCLASS 0x2000 /* default class */ | #define CBQCLF_DEFCLASS 0x2000 /* default class */ | ||||
Show All 23 Lines | typedef struct _cbq_class_stats_ { | ||||
int offtime; | int offtime; | ||||
int qmax; | int qmax; | ||||
int ns_per_byte; | int ns_per_byte; | ||||
int wrr_allot; | int wrr_allot; | ||||
int qcnt; /* # packets in queue */ | int qcnt; /* # packets in queue */ | ||||
int avgidle; | int avgidle; | ||||
/* red and rio related info */ | /* codel, red and rio related info */ | ||||
int qtype; | int qtype; | ||||
struct redstats red[3]; | struct redstats red[3]; | ||||
struct codel_stats codel; | |||||
} class_stats_t; | } class_stats_t; | ||||
#ifdef ALTQ3_COMPAT | #ifdef ALTQ3_COMPAT | ||||
/* | /* | ||||
* Define structures associated with IOCTLS for cbq. | * Define structures associated with IOCTLS for cbq. | ||||
*/ | */ | ||||
/* | /* | ||||
▲ Show 20 Lines • Show All 118 Lines • Show Last 20 Lines |