Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
tcp_cubic.c File Reference
#include <linux/mm.h>
#include <linux/module.h>
#include <linux/math64.h>
#include <net/tcp.h>

Go to the source code of this file.

Data Structures

struct  bictcp
 

Macros

#define BICTCP_BETA_SCALE
 
#define BICTCP_HZ   10 /* BIC HZ 2^10 = 1024 */
 
#define HYSTART_ACK_TRAIN   0x1
 
#define HYSTART_DELAY   0x2
 
#define HYSTART_MIN_SAMPLES   8
 
#define HYSTART_DELAY_MIN   (4U<<3)
 
#define HYSTART_DELAY_MAX   (16U<<3)
 
#define HYSTART_DELAY_THRESH(x)   clamp(x, HYSTART_DELAY_MIN, HYSTART_DELAY_MAX)
 
#define ACK_RATIO_SHIFT   4
 
#define ACK_RATIO_LIMIT   (32u << ACK_RATIO_SHIFT)
 

Functions

 module_param (fast_convergence, int, 0644)
 
 MODULE_PARM_DESC (fast_convergence,"turn on/off fast convergence")
 
 module_param (beta, int, 0644)
 
 MODULE_PARM_DESC (beta,"beta for multiplicative increase")
 
 module_param (initial_ssthresh, int, 0644)
 
 MODULE_PARM_DESC (initial_ssthresh,"initial value of slow start threshold")
 
 module_param (bic_scale, int, 0444)
 
 MODULE_PARM_DESC (bic_scale,"scale (scaled by 1024) value for bic function (bic_scale/1024)")
 
 module_param (tcp_friendliness, int, 0644)
 
 MODULE_PARM_DESC (tcp_friendliness,"turn on/off tcp friendliness")
 
 module_param (hystart, int, 0644)
 
 MODULE_PARM_DESC (hystart,"turn on/off hybrid slow start algorithm")
 
 module_param (hystart_detect, int, 0644)
 
 MODULE_PARM_DESC (hystart_detect,"hyrbrid slow start detection mechanisms"" 1: packet-train 2: delay 3: both packet-train and delay")
 
 module_param (hystart_low_window, int, 0644)
 
 MODULE_PARM_DESC (hystart_low_window,"lower bound cwnd for hybrid slow start")
 
 module_param (hystart_ack_delta, int, 0644)
 
 MODULE_PARM_DESC (hystart_ack_delta,"spacing between ack's indicating train (msecs)")
 
 module_init (cubictcp_register)
 
 module_exit (cubictcp_unregister)
 
 MODULE_AUTHOR ("Sangtae Ha, Stephen Hemminger")
 
 MODULE_LICENSE ("GPL")
 
 MODULE_DESCRIPTION ("CUBIC TCP")
 
 MODULE_VERSION ("2.3")
 

Macro Definition Documentation

#define ACK_RATIO_LIMIT   (32u << ACK_RATIO_SHIFT)

Definition at line 94 of file tcp_cubic.c.

#define ACK_RATIO_SHIFT   4

Definition at line 93 of file tcp_cubic.c.

#define BICTCP_BETA_SCALE
Value:
1024 /* Scale factor beta calculation
* max_cwnd = snd_cwnd * beta
*/

Definition at line 31 of file tcp_cubic.c.

#define BICTCP_HZ   10 /* BIC HZ 2^10 = 1024 */

Definition at line 32 of file tcp_cubic.c.

#define HYSTART_ACK_TRAIN   0x1

Definition at line 35 of file tcp_cubic.c.

#define HYSTART_DELAY   0x2

Definition at line 36 of file tcp_cubic.c.

#define HYSTART_DELAY_MAX   (16U<<3)

Definition at line 41 of file tcp_cubic.c.

#define HYSTART_DELAY_MIN   (4U<<3)

Definition at line 40 of file tcp_cubic.c.

#define HYSTART_DELAY_THRESH (   x)    clamp(x, HYSTART_DELAY_MIN, HYSTART_DELAY_MAX)

Definition at line 42 of file tcp_cubic.c.

#define HYSTART_MIN_SAMPLES   8

Definition at line 39 of file tcp_cubic.c.

Function Documentation

MODULE_AUTHOR ( "Sangtae  Ha,
Stephen Hemminger"   
)
MODULE_DESCRIPTION ( "CUBIC TCP )
module_exit ( cubictcp_unregister  )
module_init ( cubictcp_register  )
MODULE_LICENSE ( "GPL"  )
module_param ( fast_convergence  ,
int  ,
0644   
)
module_param ( beta  ,
int  ,
0644   
)
module_param ( initial_ssthresh  ,
int  ,
0644   
)
module_param ( bic_scale  ,
int  ,
0444   
)
module_param ( tcp_friendliness  ,
int  ,
0644   
)
module_param ( hystart  ,
int  ,
0644   
)
module_param ( hystart_detect  ,
int  ,
0644   
)
module_param ( hystart_low_window  ,
int  ,
0644   
)
module_param ( hystart_ack_delta  ,
int  ,
0644   
)
MODULE_PARM_DESC ( fast_convergence  ,
"turn on/off fast convergence"   
)
MODULE_PARM_DESC ( beta  ,
"beta for multiplicative increase"   
)
MODULE_PARM_DESC ( initial_ssthresh  ,
"initial value of slow start threshold  
)
MODULE_PARM_DESC ( bic_scale  ,
"scale (scaled by 1024) value for bic function (bic_scale/1024)"   
)
MODULE_PARM_DESC ( tcp_friendliness  ,
"turn on/off tcp friendliness"   
)
MODULE_PARM_DESC ( hystart  ,
"turn on/off hybrid slow start algorithm  
)
MODULE_PARM_DESC ( hystart_detect  ,
"hyrbrid slow start detection mechanisms"" 1: packet-train 2: delay 3: both packet-train and delay  
)
MODULE_PARM_DESC ( hystart_low_window  ,
"lower bound cwnd for hybrid slow start  
)
MODULE_PARM_DESC ( hystart_ack_delta  ,
"spacing between ack's indicating train (msecs)"   
)
MODULE_VERSION ( "2.3"  )