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:
|