Changeset View
Changeset View
Standalone View
Standalone View
sys/net/altq/altq_rmclass.h
Show First 20 Lines • Show All 159 Lines • ▼ Show 20 Lines | struct rm_class { | ||||
rm_class_t *peer_; /* Peer class */ | rm_class_t *peer_; /* Peer class */ | ||||
rm_class_t *borrow_; /* Borrow class */ | rm_class_t *borrow_; /* Borrow class */ | ||||
rm_class_t *parent_; /* Parent class */ | rm_class_t *parent_; /* Parent class */ | ||||
void (*overlimit)(struct rm_class *, struct rm_class *); | void (*overlimit)(struct rm_class *, struct rm_class *); | ||||
void (*drop)(struct rm_class *); /* Class drop action. */ | void (*drop)(struct rm_class *); /* Class drop action. */ | ||||
union { | |||||
struct red *red_; /* RED state pointer */ | struct red *red_; /* RED state pointer */ | ||||
struct codel *codel_; /* codel state pointer */ | |||||
} cl_aqm_; | |||||
#define red_ cl_aqm_.red_ | |||||
#define codel_ cl_aqm_.codel_ | |||||
struct altq_pktattr *pktattr_; /* saved hdr used by RED/ECN */ | struct altq_pktattr *pktattr_; /* saved hdr used by RED/ECN */ | ||||
int flags_; | int flags_; | ||||
int last_pkttime_; /* saved pkt_time */ | int last_pkttime_; /* saved pkt_time */ | ||||
struct timeval undertime_; /* time can next send */ | struct timeval undertime_; /* time can next send */ | ||||
struct timeval last_; /* time last packet sent */ | struct timeval last_; /* time last packet sent */ | ||||
struct timeval overtime_; | struct timeval overtime_; | ||||
struct callout callout_; /* for timeout() calls */ | struct callout callout_; /* for timeout() calls */ | ||||
▲ Show 20 Lines • Show All 52 Lines • ▼ Show 20 Lines | |||||
/* flags for rmc_init and rmc_newclass */ | /* flags for rmc_init and rmc_newclass */ | ||||
/* class flags */ | /* class flags */ | ||||
#define RMCF_RED 0x0001 | #define RMCF_RED 0x0001 | ||||
#define RMCF_ECN 0x0002 | #define RMCF_ECN 0x0002 | ||||
#define RMCF_RIO 0x0004 | #define RMCF_RIO 0x0004 | ||||
#define RMCF_FLOWVALVE 0x0008 /* use flowvalve (aka penalty-box) */ | #define RMCF_FLOWVALVE 0x0008 /* use flowvalve (aka penalty-box) */ | ||||
#define RMCF_CLEARDSCP 0x0010 /* clear diffserv codepoint */ | #define RMCF_CLEARDSCP 0x0010 /* clear diffserv codepoint */ | ||||
#define RMCF_CODEL 0x0020 | |||||
/* flags for rmc_init */ | /* flags for rmc_init */ | ||||
#define RMCF_WRR 0x0100 | #define RMCF_WRR 0x0100 | ||||
#define RMCF_EFFICIENT 0x0200 | #define RMCF_EFFICIENT 0x0200 | ||||
#define is_a_parent_class(cl) ((cl)->children_ != NULL) | #define is_a_parent_class(cl) ((cl)->children_ != NULL) | ||||
extern rm_class_t *rmc_newclass(int, struct rm_ifdat *, u_int, | extern rm_class_t *rmc_newclass(int, struct rm_ifdat *, u_int, | ||||
Show All 23 Lines |