Print this page
3660 tcp_slow_start_* tunables should allow increasing the initial congestion window
Reviewed by: Dan McDonald <danmcd@nexenta.com>
Reviewed by: Sebastien Roy <sebastien.roy@delphix.com>
Reviewed by: Brendan Gregg <brendan.gregg@joyent.com>


 252 uint_t tcp_max_optsize; /* initialized when TCP driver is loaded */
 253 
 254 /*
 255  * Initialize option database object for TCP
 256  *
 257  * This object represents database of options to search passed to
 258  * {sock,tpi}optcom_req() interface routine to take care of option
 259  * management and associated methods.
 260  */
 261 
 262 optdb_obj_t tcp_opt_obj = {
 263         tcp_opt_default,        /* TCP default value function pointer */
 264         tcp_tpi_opt_get,        /* TCP get function pointer */
 265         tcp_tpi_opt_set,        /* TCP set function pointer */
 266         TCP_OPT_ARR_CNT,        /* TCP option database count of entries */
 267         tcp_opt_arr,            /* TCP option database */
 268         TCP_VALID_LEVELS_CNT,   /* TCP valid level count of entries */
 269         tcp_valid_levels_arr    /* TCP valid level array */
 270 };
 271 
 272 /* Maximum TCP initial cwin (start/restart). */
 273 #define TCP_MAX_INIT_CWND       16
 274 
 275 static int tcp_max_init_cwnd = TCP_MAX_INIT_CWND;
 276 
 277 /*
 278  * Some TCP options can be "set" by requesting them in the option
 279  * buffer. This is needed for XTI feature test though we do not
 280  * allow it in general. We interpret that this mechanism is more
 281  * applicable to OSI protocols and need not be allowed in general.
 282  * This routine filters out options for which it is not allowed (most)
 283  * and lets through those (few) for which it is. [ The XTI interface
 284  * test suite specifics will imply that any XTI_GENERIC level XTI_* if
 285  * ever implemented will have to be allowed here ].
 286  */
 287 static boolean_t
 288 tcp_allow_connopt_set(int level, int name)
 289 {
 290 
 291         switch (level) {
 292         case IPPROTO_TCP:
 293                 switch (name) {
 294                 case TCP_NODELAY:




 252 uint_t tcp_max_optsize; /* initialized when TCP driver is loaded */
 253 
 254 /*
 255  * Initialize option database object for TCP
 256  *
 257  * This object represents database of options to search passed to
 258  * {sock,tpi}optcom_req() interface routine to take care of option
 259  * management and associated methods.
 260  */
 261 
 262 optdb_obj_t tcp_opt_obj = {
 263         tcp_opt_default,        /* TCP default value function pointer */
 264         tcp_tpi_opt_get,        /* TCP get function pointer */
 265         tcp_tpi_opt_set,        /* TCP set function pointer */
 266         TCP_OPT_ARR_CNT,        /* TCP option database count of entries */
 267         tcp_opt_arr,            /* TCP option database */
 268         TCP_VALID_LEVELS_CNT,   /* TCP valid level count of entries */
 269         tcp_valid_levels_arr    /* TCP valid level array */
 270 };
 271 



 272 static int tcp_max_init_cwnd = TCP_MAX_INIT_CWND;
 273 
 274 /*
 275  * Some TCP options can be "set" by requesting them in the option
 276  * buffer. This is needed for XTI feature test though we do not
 277  * allow it in general. We interpret that this mechanism is more
 278  * applicable to OSI protocols and need not be allowed in general.
 279  * This routine filters out options for which it is not allowed (most)
 280  * and lets through those (few) for which it is. [ The XTI interface
 281  * test suite specifics will imply that any XTI_GENERIC level XTI_* if
 282  * ever implemented will have to be allowed here ].
 283  */
 284 static boolean_t
 285 tcp_allow_connopt_set(int level, int name)
 286 {
 287 
 288         switch (level) {
 289         case IPPROTO_TCP:
 290                 switch (name) {
 291                 case TCP_NODELAY: