Print this page
11553 Want pluggable TCP congestion control algorithms
Portions contributed by: Cody Peter Mello <cody.mello@joyent.com>
Reviewed by: Dan McDonald <danmcd@joyent.com>
Reviewed by: Robert Mustacchi <robert.mustacchi@joyent.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/lib/libipadm/common/ipadm_prop.c
          +++ new/usr/src/lib/libipadm/common/ipadm_prop.c
↓ open down ↓ 12 lines elided ↑ open up ↑
  13   13   * When distributing Covered Code, include this CDDL HEADER in each
  14   14   * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15   15   * If applicable, add the following below this CDDL HEADER, with the
  16   16   * fields enclosed by brackets "[]" replaced with your own identifying
  17   17   * information: Portions Copyright [yyyy] [name of copyright owner]
  18   18   *
  19   19   * CDDL HEADER END
  20   20   */
  21   21  /*
  22   22   * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
  23      - * Copyright (c) 2013 by Delphix. All rights reserved.
       23 + * Copyright (c) 2013, 2017 by Delphix. All rights reserved.
  24   24   */
  25   25  
  26   26  /*
  27   27   * This file contains routines that are used to modify/retrieve protocol or
  28   28   * interface property values. It also holds all the supported properties for
  29   29   * both IP interface and protocols in `ipadm_prop_desc_t'. Following protocols
  30   30   * are supported: IP, IPv4, IPv6, TCP, SCTP, UDP and ICMP.
  31   31   *
  32   32   * This file also contains walkers, which walks through the property table and
  33   33   * calls the callback function, of the form `ipadm_prop_wfunc_t' , for every
↓ open down ↓ 112 lines elided ↑ open up ↑
 146  146              i_ipadm_get_hostmodel },
 147  147  
 148  148          { NULL, NULL, 0, 0, 0, NULL, NULL, NULL }
 149  149  };
 150  150  
 151  151  /* possible values for TCP properties `ecn' and `sack' */
 152  152  static const char *ecn_sack_vals[] = {"never", "passive", "active", NULL};
 153  153  
 154  154  /* Supported TCP protocol properties */
 155  155  static ipadm_prop_desc_t ipadm_tcp_prop_table[] = {
      156 +        { "congestion_control", NULL, IPADMPROP_CLASS_MODULE, MOD_PROTO_TCP, 0,
      157 +            i_ipadm_set_prop, i_ipadm_get_prop, i_ipadm_get_prop },
      158 +
 156  159          { "ecn", NULL, IPADMPROP_CLASS_MODULE, MOD_PROTO_TCP, 0,
 157  160              i_ipadm_set_ecnsack, i_ipadm_get_ecnsack, i_ipadm_get_ecnsack },
 158  161  
 159  162          { "extra_priv_ports", NULL, IPADMPROP_CLASS_MODULE, MOD_PROTO_TCP,
 160  163              IPADMPROP_MULVAL, i_ipadm_set_eprivport, i_ipadm_get_prop,
 161  164              i_ipadm_get_prop },
 162  165  
 163  166          { "largest_anon_port", NULL, IPADMPROP_CLASS_MODULE, MOD_PROTO_TCP, 0,
 164  167              i_ipadm_set_prop, i_ipadm_get_prop, i_ipadm_get_prop },
 165  168  
↓ open down ↓ 1792 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX