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 ssthresh */ | |||||
| /* 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 | |||||