cc.h (b8d60729deefa0bd13e6a395fcab4928e6e10445) | cc.h (a9696510f5caef4a7c525fcf4359597798829350) |
---|---|
1/*- 2 * Copyright (c) 2007-2008 3 * Swinburne University of Technology, Melbourne, Australia. 4 * Copyright (c) 2009-2010 Lawrence Stewart <lstewart@freebsd.org> 5 * Copyright (c) 2010 The FreeBSD Foundation 6 * All rights reserved. 7 * 8 * This software was developed at the Centre for Advanced Internet --- 58 unchanged lines hidden (view full) --- 67#define V_cc_do_abe VNET(cc_do_abe) 68 69VNET_DECLARE(int, cc_abe_frlossreduce); 70#define V_cc_abe_frlossreduce VNET(cc_abe_frlossreduce) 71 72/* Define the new net.inet.tcp.cc sysctl tree. */ 73SYSCTL_DECL(_net_inet_tcp_cc); 74 | 1/*- 2 * Copyright (c) 2007-2008 3 * Swinburne University of Technology, Melbourne, Australia. 4 * Copyright (c) 2009-2010 Lawrence Stewart <lstewart@freebsd.org> 5 * Copyright (c) 2010 The FreeBSD Foundation 6 * All rights reserved. 7 * 8 * This software was developed at the Centre for Advanced Internet --- 58 unchanged lines hidden (view full) --- 67#define V_cc_do_abe VNET(cc_do_abe) 68 69VNET_DECLARE(int, cc_abe_frlossreduce); 70#define V_cc_abe_frlossreduce VNET(cc_abe_frlossreduce) 71 72/* Define the new net.inet.tcp.cc sysctl tree. */ 73SYSCTL_DECL(_net_inet_tcp_cc); 74 |
75/* For CC modules that use hystart++ */ 76extern uint32_t hystart_lowcwnd; 77extern uint32_t hystart_minrtt_thresh; 78extern uint32_t hystart_maxrtt_thresh; 79extern uint32_t hystart_n_rttsamples; 80extern uint32_t hystart_css_growth_div; 81extern uint32_t hystart_css_rounds; 82extern uint32_t hystart_bblogs; 83 |
|
75/* CC housekeeping functions. */ 76int cc_register_algo(struct cc_algo *add_cc); 77int cc_deregister_algo(struct cc_algo *remove_cc); 78 79/* 80 * Wrapper around transport structs that contain same-named congestion 81 * control variables. Allows algos to be shared amongst multiple CC aware 82 * transprots. --- 18 unchanged lines hidden (view full) --- 101#define CCF_USE_LOCAL_ABC 0x0004 /* Dont use the system l_abc val */ 102#define CCF_ACKNOW 0x0008 /* Will this ack be sent now? */ 103#define CCF_IPHDR_CE 0x0010 /* Does this packet set CE bit? */ 104#define CCF_TCPHDR_CWR 0x0020 /* Does this packet set CWR bit? */ 105#define CCF_MAX_CWND 0x0040 /* Have we reached maximum cwnd? */ 106#define CCF_CHG_MAX_CWND 0x0080 /* Cubic max_cwnd changed, for K */ 107#define CCF_USR_IWND 0x0100 /* User specified initial window */ 108#define CCF_USR_IWND_INIT_NSEG 0x0200 /* Convert segs to bytes on conn init */ | 84/* CC housekeeping functions. */ 85int cc_register_algo(struct cc_algo *add_cc); 86int cc_deregister_algo(struct cc_algo *remove_cc); 87 88/* 89 * Wrapper around transport structs that contain same-named congestion 90 * control variables. Allows algos to be shared amongst multiple CC aware 91 * transprots. --- 18 unchanged lines hidden (view full) --- 110#define CCF_USE_LOCAL_ABC 0x0004 /* Dont use the system l_abc val */ 111#define CCF_ACKNOW 0x0008 /* Will this ack be sent now? */ 112#define CCF_IPHDR_CE 0x0010 /* Does this packet set CE bit? */ 113#define CCF_TCPHDR_CWR 0x0020 /* Does this packet set CWR bit? */ 114#define CCF_MAX_CWND 0x0040 /* Have we reached maximum cwnd? */ 115#define CCF_CHG_MAX_CWND 0x0080 /* Cubic max_cwnd changed, for K */ 116#define CCF_USR_IWND 0x0100 /* User specified initial window */ 117#define CCF_USR_IWND_INIT_NSEG 0x0200 /* Convert segs to bytes on conn init */ |
118#define CCF_HYSTART_ALLOWED 0x0400 /* If the CC supports it Hystart is allowed */ 119#define CCF_HYSTART_CAN_SH_CWND 0x0800 /* Can hystart when going CSS -> CA slam the cwnd */ 120#define CCF_HYSTART_CONS_SSTH 0x1000 /* Should hystart use the more conservative ssthresh */ |
|
109 110/* ACK types passed to the ack_received() hook. */ 111#define CC_ACK 0x0001 /* Regular in sequence ACK. */ 112#define CC_DUPACK 0x0002 /* Duplicate ACK. */ 113#define CC_PARTIALACK 0x0004 /* Not yet. */ 114#define CC_SACK 0x0008 /* Not yet. */ 115#endif /* _KERNEL */ 116 --- 112 unchanged lines hidden --- | 121 122/* ACK types passed to the ack_received() hook. */ 123#define CC_ACK 0x0001 /* Regular in sequence ACK. */ 124#define CC_DUPACK 0x0002 /* Duplicate ACK. */ 125#define CC_PARTIALACK 0x0004 /* Not yet. */ 126#define CC_SACK 0x0008 /* Not yet. */ 127#endif /* _KERNEL */ 128 --- 112 unchanged lines hidden --- |