Changeset View
Changeset View
Standalone View
Standalone View
sys/netinet/cc/cc.h
Show First 20 Lines • Show All 66 Lines • ▼ Show 20 Lines | |||||
#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. */ | ||||
SYSCTL_DECL(_net_inet_tcp_cc); | SYSCTL_DECL(_net_inet_tcp_cc); | ||||
/* For CC modules that use hystart++ */ | |||||
extern uint32_t hystart_lowcwnd; | |||||
extern uint32_t hystart_minrtt_thresh; | |||||
extern uint32_t hystart_maxrtt_thresh; | |||||
extern uint32_t hystart_n_rttsamples; | |||||
extern uint32_t hystart_css_growth_div; | |||||
extern uint32_t hystart_css_rounds; | |||||
extern uint32_t hystart_bblogs; | |||||
/* CC housekeeping functions. */ | /* CC housekeeping functions. */ | ||||
int cc_register_algo(struct cc_algo *add_cc); | int cc_register_algo(struct cc_algo *add_cc); | ||||
int cc_deregister_algo(struct cc_algo *remove_cc); | int cc_deregister_algo(struct cc_algo *remove_cc); | ||||
/* | /* | ||||
* Wrapper around transport structs that contain same-named congestion | * Wrapper around transport structs that contain same-named congestion | ||||
* control variables. Allows algos to be shared amongst multiple CC aware | * control variables. Allows algos to be shared amongst multiple CC aware | ||||
* transprots. | * transprots. | ||||
Show All 18 Lines | |||||
#define CCF_USE_LOCAL_ABC 0x0004 /* Dont use the system l_abc val */ | #define CCF_USE_LOCAL_ABC 0x0004 /* Dont use the system l_abc val */ | ||||
#define CCF_ACKNOW 0x0008 /* Will this ack be sent now? */ | #define CCF_ACKNOW 0x0008 /* Will this ack be sent now? */ | ||||
#define CCF_IPHDR_CE 0x0010 /* Does this packet set CE bit? */ | #define CCF_IPHDR_CE 0x0010 /* Does this packet set CE bit? */ | ||||
#define CCF_TCPHDR_CWR 0x0020 /* Does this packet set CWR bit? */ | #define CCF_TCPHDR_CWR 0x0020 /* Does this packet set CWR bit? */ | ||||
#define CCF_MAX_CWND 0x0040 /* Have we reached maximum cwnd? */ | #define CCF_MAX_CWND 0x0040 /* Have we reached maximum cwnd? */ | ||||
#define CCF_CHG_MAX_CWND 0x0080 /* Cubic max_cwnd changed, for K */ | #define CCF_CHG_MAX_CWND 0x0080 /* Cubic max_cwnd changed, for K */ | ||||
#define CCF_USR_IWND 0x0100 /* User specified initial window */ | #define CCF_USR_IWND 0x0100 /* User specified initial window */ | ||||
#define CCF_USR_IWND_INIT_NSEG 0x0200 /* Convert segs to bytes on conn init */ | #define CCF_USR_IWND_INIT_NSEG 0x0200 /* Convert segs to bytes on conn init */ | ||||
#define CCF_HYSTART_ALLOWED 0x0400 /* If the CC supports it Hystart is allowed */ | |||||
#define CCF_HYSTART_CAN_SH_CWND 0x0800 /* Can hystart when going CSS -> CA slam the cwnd */ | |||||
#define CCF_HYSTART_CONS_SSTH 0x1000 /* Should hystart use the more conservative sstrhesh */ | |||||
/* ACK types passed to the ack_received() hook. */ | /* ACK types passed to the ack_received() hook. */ | ||||
#define CC_ACK 0x0001 /* Regular in sequence ACK. */ | #define CC_ACK 0x0001 /* Regular in sequence ACK. */ | ||||
#define CC_DUPACK 0x0002 /* Duplicate ACK. */ | #define CC_DUPACK 0x0002 /* Duplicate ACK. */ | ||||
#define CC_PARTIALACK 0x0004 /* Not yet. */ | #define CC_PARTIALACK 0x0004 /* Not yet. */ | ||||
#define CC_SACK 0x0008 /* Not yet. */ | #define CC_SACK 0x0008 /* Not yet. */ | ||||
#endif /* _KERNEL */ | #endif /* _KERNEL */ | ||||
▲ Show 20 Lines • Show All 112 Lines • Show Last 20 Lines |