Changeset View
Changeset View
Standalone View
Standalone View
sys/netinet/cc/cc.h
Show First 20 Lines • Show All 64 Lines • ▼ Show 20 Lines | |||||
VNET_DECLARE(int, cc_do_abe); | VNET_DECLARE(int, cc_do_abe); | ||||
#define V_cc_do_abe VNET(cc_do_abe) | #define V_cc_do_abe VNET(cc_do_abe) | ||||
VNET_DECLARE(int, cc_abe_frlossreduce); | VNET_DECLARE(int, cc_abe_frlossreduce); | ||||
#define V_cc_abe_frlossreduce VNET(cc_abe_frlossreduce) | #define V_cc_abe_frlossreduce VNET(cc_abe_frlossreduce) | ||||
/* Define the new net.inet.tcp.cc sysctl tree. */ | /* Define the new net.inet.tcp.cc sysctl tree. */ | ||||
#ifdef _SYS_SYSCTL_H_ | |||||
SYSCTL_DECL(_net_inet_tcp_cc); | SYSCTL_DECL(_net_inet_tcp_cc); | ||||
#endif | |||||
/* For CC modules that use hystart++ */ | /* For CC modules that use hystart++ */ | ||||
extern uint32_t hystart_lowcwnd; | extern uint32_t hystart_lowcwnd; | ||||
extern uint32_t hystart_minrtt_thresh; | extern uint32_t hystart_minrtt_thresh; | ||||
extern uint32_t hystart_maxrtt_thresh; | extern uint32_t hystart_maxrtt_thresh; | ||||
extern uint32_t hystart_n_rttsamples; | extern uint32_t hystart_n_rttsamples; | ||||
extern uint32_t hystart_css_growth_div; | extern uint32_t hystart_css_growth_div; | ||||
extern uint32_t hystart_css_rounds; | extern uint32_t hystart_css_rounds; | ||||
▲ Show 20 Lines • Show All 120 Lines • ▼ Show 20 Lines | struct cc_algo { | ||||
STAILQ_ENTRY (cc_algo) entries; | STAILQ_ENTRY (cc_algo) entries; | ||||
u_int cc_refcount; | u_int cc_refcount; | ||||
uint8_t flags; | uint8_t flags; | ||||
}; | }; | ||||
#define CC_MODULE_BEING_REMOVED 0x01 /* The module is being removed */ | #define CC_MODULE_BEING_REMOVED 0x01 /* The module is being removed */ | ||||
/* Macro to obtain the CC algo's struct ptr. */ | /* Macro to obtain the CC algo's struct ptr. */ | ||||
#define CC_ALGO(tp) ((tp)->cc_algo) | #define CC_ALGO(tp) ((tp)->t_cc) | ||||
/* Macro to obtain the CC algo's data ptr. */ | /* Macro to obtain the CC algo's data ptr. */ | ||||
#define CC_DATA(tp) ((tp)->ccv->cc_data) | #define CC_DATA(tp) ((tp)->t_ccv.cc_data) | ||||
/* Macro to obtain the system default CC algo's struct ptr. */ | /* Macro to obtain the system default CC algo's struct ptr. */ | ||||
#define CC_DEFAULT_ALGO() V_default_cc_ptr | #define CC_DEFAULT_ALGO() V_default_cc_ptr | ||||
extern struct rwlock cc_list_lock; | extern struct rwlock cc_list_lock; | ||||
#define CC_LIST_LOCK_INIT() rw_init(&cc_list_lock, "cc_list") | #define CC_LIST_LOCK_INIT() rw_init(&cc_list_lock, "cc_list") | ||||
#define CC_LIST_LOCK_DESTROY() rw_destroy(&cc_list_lock) | #define CC_LIST_LOCK_DESTROY() rw_destroy(&cc_list_lock) | ||||
#define CC_LIST_RLOCK() rw_rlock(&cc_list_lock) | #define CC_LIST_RLOCK() rw_rlock(&cc_list_lock) | ||||
Show All 30 Lines |