Print this page
4508 flowadm not working as documented, or documentation incorrect
4538 flowadm man page does not list lport and rport as output fields for show-flow
7210 flowadm does not have show-usage command described in the manual page

Split Close
Expand all
Collapse all
          --- old/usr/src/man/man1m/flowadm.1m
          +++ new/usr/src/man/man1m/flowadm.1m
   1    1  '\" te
        2 +.\" Copyright 2020 Peter Tribble
   2    3  .\" Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved
   3    4  .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
   4    5  .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
   5    6  .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
   6      -.TH FLOWADM 1M "April 9, 2016"
        7 +.TH FLOWADM 1M "February 26, 2020"
   7    8  .SH NAME
   8    9  flowadm \- administer bandwidth resource control and priority for protocols,
   9   10  services, containers, and virtual machines
  10   11  .SH SYNOPSIS
  11      -.LP
  12   12  .nf
  13      -\fBflowadm show-flow\fR [\fB-pP\fR] [\fB-S\fR] [\fB-s\fR [\fB-i\fR \fIinterval\fR]] [\fB-l\fR \fIlink\fR]
  14      -     [\fB-o\fR \fIfield\fR[,...]] [\fIflow\fR]
  15      -.fi
  16      -
  17      -.LP
  18      -.nf
  19   13  \fBflowadm add-flow\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR] \fB-l\fR \fIlink\fR \fB-a\fR \fIattr\fR=\fIvalue\fR[,...]
  20      -     \fB-p\fR \fIprop\fR=\fIvalue\fR[,...] \fIflow\fR
       14 +     [\fB-p\fR \fIprop\fR=\fIvalue\fR[,...]] \fIflow\fR
  21   15  \fBflowadm remove-flow\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR] {\fB-l\fR \fIlink\fR | \fIflow\fR}
       16 +\fBflowadm show-flow\fR [\fB-p\fR] [\fB-l\fR \fIlink\fR] [\fB-o\fR \fIfield\fR[,...]] [\fIflow\fR]
  22   17  .fi
  23   18  
  24   19  .LP
  25   20  .nf
  26   21  \fBflowadm set-flowprop\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR] \fB-p\fR \fIprop\fR=\fIvalue\fR[,...] \fIflow\fR
  27   22  \fBflowadm reset-flowprop\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR] [\fB-p\fR \fIprop\fR[,...]] \fIflow\fR
  28   23  \fBflowadm show-flowprop\fR [\fB-cP\fR] [\fB-l\fR \fIlink\fR] [\fB-o\fR \fIfield\fR[,...]]
  29   24       [\fB-p\fR \fIprop\fR[,...]] [\fIflow\fR]
  30   25  .fi
  31   26  
  32      -.LP
  33      -.nf
  34      -\fBflowadm show-usage\fR [\fB-a\fR] [\fB-d\fR | {\fB-p\fR \fIplotfile\fR \fB-F\fR \fIformat\fR}] [\fB-s\fR \fItime\fR]
  35      -     [\fB-e\fR \fItime\fR] \fB-f\fR \fIfilename\fR [\fIflow\fR]
  36      -.fi
  37      -
  38   27  .SH DESCRIPTION
  39      -.LP
  40   28  The \fBflowadm\fR command is used to create, modify, remove, and show
  41   29  networking bandwidth and associated resources for a type of traffic on a
  42   30  particular link.
  43   31  .sp
  44   32  .LP
  45   33  The \fBflowadm\fR command allows users to manage networking bandwidth resources
  46   34  for a transport, service, or a subnet. The service is specified as a
  47   35  combination of transport and local port. The subnet is specified by its IP
  48   36  address and subnet mask. The command can be used on any type of data link,
  49   37  including physical links, virtual NICs, and link aggregations.
↓ open down ↓ 4 lines elided ↑ open up ↑
  54   42  flow is identified based on flow attributes, separate kernel resources
  55   43  including layer 2, 3, and 4 queues, their processing threads, and other
  56   44  resources are uniquely created for it, such that other traffic has minimal or
  57   45  zero impact on it.
  58   46  .sp
  59   47  .LP
  60   48  Inbound and outbound packet are matched to flows in a very fast and scalable
  61   49  way, so that limits can be enforced with minimal performance impact.
  62   50  .sp
  63   51  .LP
  64      -The \fBflowadm\fR command can be used to identify a flow without imposing any
       52 +The \fBflowadm\fR command can be used to define a flow without imposing any
  65   53  bandwidth resource control. This would result in the traffic type getting its
  66   54  own resources and queues so that it is isolated from rest of the networking
  67   55  traffic for more observable and deterministic behavior.
  68   56  .sp
  69   57  .LP
  70   58  \fBflowadm\fR is implemented as a set of subcommands with corresponding
  71   59  options. Options are described in the context of each subcommand.
  72   60  .SH SUBCOMMANDS
  73      -.LP
  74   61  The following subcommands are supported:
  75   62  .sp
  76   63  .ne 2
  77   64  .na
  78      -\fB\fBflowadm show-flow\fR [\fB-pP\fR] [\fB-s\fR [\fB-i\fR \fIinterval\fR]]
  79      -[\fB-o\fR \fIfield\fR[,...]] [\fB-l\fR \fIlink\fR] [\fIflow\fR]\fR
       65 +\fB\fBflowadm add-flow\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR] \fB-l\fR
       66 +\fIlink\fR \fB-a\fR \fIattr\fR=\fIvalue\fR[,...] [\fB-p\fR
       67 +\fIprop\fR=\fIvalue\fR[,...]] \fIflow\fR\fR
  80   68  .ad
  81   69  .sp .6
  82   70  .RS 4n
  83      -Show flow configuration information (the default) or statistics, either for all
  84      -flows, all flows on a link, or for the specified \fIflow\fR.
       71 +Adds a flow to the system. The flow is identified by its flow attributes and
       72 +properties.
  85   73  .sp
  86      -.ne 2
  87      -.na
  88      -\fB\fB-o\fR \fIfield\fR[,...]\fR
  89      -.ad
  90      -.sp .6
  91      -.RS 4n
  92      -A case-insensitive, comma-separated list of output fields to display. The field
  93      -name must be one of the fields listed below, or a special value \fBall\fR, to
  94      -display all fields. For each flow found, the following fields can be displayed:
       74 +As part of identifying a particular flow, its bandwidth resource can be limited
       75 +and its relative priority to other traffic can be specified. If no bandwidth
       76 +limit or priority is specified, the traffic still gets its unique layer 2, 3,
       77 +and 4 queues and processing threads, including NIC hardware resources (when
       78 +supported), so that the selected traffic can be separated from others and can
       79 +flow with minimal impact from other traffic.
  95   80  .sp
  96   81  .ne 2
  97   82  .na
  98      -\fB\fBflow\fR\fR
       83 +\fB\fB-t\fR, \fB--temporary\fR\fR
  99   84  .ad
 100   85  .sp .6
 101   86  .RS 4n
 102      -The name of the flow.
       87 +The changes are temporary and will not persist across reboots. Persistence is
       88 +the default.
 103   89  .RE
 104   90  
 105   91  .sp
 106   92  .ne 2
 107   93  .na
 108      -\fB\fBlink\fR\fR
       94 +\fB\fB-R\fR \fIroot-dir\fR, \fB--root-dir\fR=\fIroot-dir\fR\fR
 109   95  .ad
 110   96  .sp .6
 111   97  .RS 4n
 112      -The name of the link the flow is on.
       98 +Specifies an alternate root directory where \fBflowadm\fR should apply
       99 +persistent creation.
 113  100  .RE
 114  101  
 115  102  .sp
 116  103  .ne 2
 117  104  .na
 118      -\fB\fBipaddr\fR\fR
      105 +\fB\fB-l\fR \fIlink\fR, \fB--link\fR=\fIlink\fR\fR
 119  106  .ad
 120  107  .sp .6
 121  108  .RS 4n
 122      -IP address of the flow. This can be either local or remote depending on how the
 123      -flow was defined.
      109 +Specify the link to which the flow will be added.
 124  110  .RE
 125  111  
 126  112  .sp
 127  113  .ne 2
 128  114  .na
 129      -\fB\fBtransport\fR\fR
      115 +\fB\fB-a\fR \fIattr\fR=\fIvalue\fR[,...], \fB--attr\fR=\fIvalue\fR\fR
 130  116  .ad
 131  117  .sp .6
 132  118  .RS 4n
 133      -The name of the layer for protocol to be used.
      119 +A mandatory comma-separated list of attributes to be set to the specified
      120 +values.
 134  121  .RE
 135  122  
 136  123  .sp
 137  124  .ne 2
 138  125  .na
 139      -\fB\fBport\fR\fR
      126 +\fB\fB-p\fR \fIprop\fR=\fIvalue\fR[,...], \fB--prop\fR=\fIvalue\fR[,...]\fR
 140  127  .ad
 141  128  .sp .6
 142  129  .RS 4n
 143      -Local port of service for flow.
      130 +An optional comma-separated list of properties to be set to the specified
      131 +values. Flow properties are documented in the "Flow Properties" section, below.
 144  132  .RE
 145  133  
      134 +.RE
      135 +
 146  136  .sp
 147  137  .ne 2
 148  138  .na
 149      -\fB\fBdsfield\fR\fR
      139 +\fB\fBflowadm remove-flow\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR] \fB-l\fR
      140 +{\fIlink\fR | \fIflow\fR}\fR
 150  141  .ad
 151  142  .sp .6
 152  143  .RS 4n
 153      -Differentiated services value for flow and mask used with \fBDSFIELD\fR value
 154      -to state the bits of interest in the differentiated services field of the IP
 155      -header.
 156      -.RE
 157      -
 158      -.RE
 159      -
      144 +Remove an existing flow identified by its link or name.
 160  145  .sp
 161  146  .ne 2
 162  147  .na
 163      -\fB\fB-p\fR, \fB--parsable\fR\fR
      148 +\fB\fB-t\fR, \fB--temporary\fR\fR
 164  149  .ad
 165  150  .sp .6
 166  151  .RS 4n
 167      -Display using a stable machine-parsable format.
      152 +The changes are temporary and will not persist across reboots. Persistence is
      153 +the default.
 168  154  .RE
 169  155  
 170  156  .sp
 171  157  .ne 2
 172  158  .na
 173      -\fB\fB-P\fR, \fB--persistent\fR\fR
      159 +\fB\fB-R\fR \fIroot-dir\fR, \fB--root-dir\fR=\fIroot-dir\fR\fR
 174  160  .ad
 175  161  .sp .6
 176  162  .RS 4n
 177      -Display persistent flow property information.
      163 +Specifies an alternate root directory where \fBflowadm\fR should apply
      164 +persistent removal.
 178  165  .RE
 179  166  
 180  167  .sp
 181  168  .ne 2
 182  169  .na
 183      -\fB\fB-S\fR, \fB--continuous\fR\fR
      170 +\fB\fB-l\fR \fIlink\fR | \fIflow\fR, \fB--link\fR=\fIlink\fR | \fIflow\fR\fR
 184  171  .ad
 185  172  .sp .6
 186  173  .RS 4n
 187      -Continuously display network utilization by flow in a manner similar to the way
 188      -that \fBprstat\fR(1M) displays CPU utilization by process.
      174 +If a link is specified, remove all flows from that link. If a single flow is
      175 +specified, remove only that flow.
 189  176  .RE
 190  177  
      178 +.RE
      179 +
 191  180  .sp
 192  181  .ne 2
 193  182  .na
 194      -\fB\fB-s\fR, \fB--statistics\fR\fR
      183 +\fB\fBflowadm show-flow\fR [\fB-pP\fR] [\fB-s\fR [\fB-i\fR \fIinterval\fR]]
      184 +[\fB-o\fR \fIfield\fR[,...]] [\fB-l\fR \fIlink\fR] [\fIflow\fR]\fR
 195  185  .ad
 196  186  .sp .6
 197  187  .RS 4n
 198      -Displays flow statistics.
 199      -.RE
 200      -
      188 +Show flow configuration information, either for all
      189 +flows, all flows on a link, or for the specified \fIflow\fR.
 201  190  .sp
 202  191  .ne 2
 203  192  .na
 204      -\fB\fB-i\fR \fIinterval\fR, \fB--interval\fR=\fIinterval\fR\fR
      193 +\fB\fB-o\fR \fIfield\fR[,...]\fR
 205  194  .ad
 206  195  .sp .6
 207  196  .RS 4n
 208      -Used with the \fB-s\fR option to specify an interval, in seconds, at which
 209      -statistics should be displayed. If this option is not specified, statistics are
 210      -displayed once.
 211      -.RE
 212      -
      197 +A case-insensitive, comma-separated list of output fields to display. The field
      198 +name must be one of the fields listed below, or a special value \fBall\fR, to
      199 +display all fields. For each flow found, the following fields can be displayed:
 213  200  .sp
 214  201  .ne 2
 215  202  .na
 216      -\fB\fB-l\fR \fIlink\fR, \fB--link\fR=\fIlink\fR | \fIflow\fR\fR
      203 +\fB\fBflow\fR\fR
 217  204  .ad
 218  205  .sp .6
 219  206  .RS 4n
 220      -Display information for all flows on the named link or information for the
 221      -named flow.
      207 +The name of the flow.
 222  208  .RE
 223  209  
 224      -.RE
 225      -
 226  210  .sp
 227  211  .ne 2
 228  212  .na
 229      -\fB\fBflowadm add-flow\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR] \fB-l\fR
 230      -\fIlink\fR \fB-a\fR \fIattr\fR=\fIvalue\fR[,...] \fB-p\fR
 231      -\fIprop\fR=\fIvalue\fR[,...] \fIflow\fR\fR
      213 +\fB\fBlink\fR\fR
 232  214  .ad
 233  215  .sp .6
 234  216  .RS 4n
 235      -Adds a flow to the system. The flow is identified by its flow attributes and
 236      -properties.
      217 +The name of the link the flow is on.
      218 +.RE
      219 +
 237  220  .sp
 238      -As part of identifying a particular flow, its bandwidth resource can be limited
 239      -and its relative priority to other traffic can be specified. If no bandwidth
 240      -limit or priority is specified, the traffic still gets its unique layer 2, 3,
 241      -and 4 queues and processing threads, including NIC hardware resources (when
 242      -supported), so that the selected traffic can be separated from others and can
 243      -flow with minimal impact from other traffic.
 244      -.sp
 245  221  .ne 2
 246  222  .na
 247      -\fB\fB-t\fR, \fB--temporary\fR\fR
      223 +\fB\fBipaddr\fR\fR
 248  224  .ad
 249  225  .sp .6
 250  226  .RS 4n
 251      -The changes are temporary and will not persist across reboots. Persistence is
 252      -the default.
      227 +IP address of the flow. This can be either local or remote depending on how the
      228 +flow was defined.
 253  229  .RE
 254  230  
 255  231  .sp
 256  232  .ne 2
 257  233  .na
 258      -\fB\fB-R\fR \fIroot-dir\fR, \fB--root-dir\fR=\fIroot-dir\fR\fR
      234 +\fB\fBproto\fR\fR
 259  235  .ad
 260  236  .sp .6
 261  237  .RS 4n
 262      -Specifies an alternate root directory where \fBflowadm\fR should apply
 263      -persistent creation.
      238 +The name of the layer for protocol to be used.
 264  239  .RE
 265  240  
 266  241  .sp
 267  242  .ne 2
 268  243  .na
 269      -\fB\fB-l\fR \fIlink\fR, \fB--link\fR=\fIlink\fR\fR
      244 +\fB\fBlport\fR\fR
 270  245  .ad
 271  246  .sp .6
 272  247  .RS 4n
 273      -Specify the link to which the flow will be added.
      248 +Local port of service for flow.
 274  249  .RE
 275  250  
 276  251  .sp
 277  252  .ne 2
 278  253  .na
 279      -\fB\fB-a\fR \fIattr\fR=\fIvalue\fR[,...], \fB--attr\fR=\fIvalue\fR\fR
      254 +\fB\fBrport\fR\fR
 280  255  .ad
 281  256  .sp .6
 282  257  .RS 4n
 283      -A comma-separated list of attributes to be set to the specified values.
      258 +Remote port of service for flow.
 284  259  .RE
 285  260  
 286  261  .sp
 287  262  .ne 2
 288  263  .na
 289      -\fB\fB-p\fR \fIprop\fR=\fIvalue\fR[,...], \fB--prop\fR=\fIvalue\fR[,...]\fR
      264 +\fB\fBdsfld\fR\fR
 290  265  .ad
 291  266  .sp .6
 292  267  .RS 4n
 293      -A comma-separated list of properties to be set to the specified values.
      268 +Differentiated services value for flow and mask used with \fBDSFIELD\fR value
      269 +to state the bits of interest in the differentiated services field of the IP
      270 +header.
 294  271  .RE
 295  272  
 296  273  .RE
 297  274  
 298  275  .sp
 299  276  .ne 2
 300  277  .na
 301      -\fB\fBflowadm remove-flow\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR] \fB-l\fR
 302      -{\fIlink\fR | \fIflow\fR}\fR
      278 +\fB\fB-p\fR, \fB--parsable\fR\fR
 303  279  .ad
 304  280  .sp .6
 305  281  .RS 4n
 306      -Remove an existing flow identified by its link or name.
 307      -.sp
 308      -.ne 2
 309      -.na
 310      -\fB\fB-t\fR, \fB--temporary\fR\fR
 311      -.ad
 312      -.sp .6
 313      -.RS 4n
 314      -The changes are temporary and will not persist across reboots. Persistence is
 315      -the default.
      282 +Display using a stable machine-parsable format.
 316  283  .RE
 317  284  
 318  285  .sp
 319  286  .ne 2
 320  287  .na
 321      -\fB\fB-R\fR \fIroot-dir\fR, \fB--root-dir\fR=\fIroot-dir\fR\fR
      288 +\fB\fB-P\fR, \fB--persistent\fR\fR
 322  289  .ad
 323  290  .sp .6
 324  291  .RS 4n
 325      -Specifies an alternate root directory where \fBflowadm\fR should apply
 326      -persistent removal.
      292 +Display persistent flow property information.
 327  293  .RE
 328  294  
 329  295  .sp
 330  296  .ne 2
 331  297  .na
 332      -\fB\fB-l\fR \fIlink\fR | \fIflow\fR, \fB--link\fR=\fIlink\fR | \fIflow\fR\fR
      298 +\fB\fB-l\fR \fIlink\fR, \fB--link\fR=\fIlink\fR | \fIflow\fR\fR
 333  299  .ad
 334  300  .sp .6
 335  301  .RS 4n
 336      -If a link is specified, remove all flows from that link. If a single flow is
 337      -specified, remove only that flow.
      302 +Display information for all flows on the named link or information for the
      303 +named flow.
 338  304  .RE
 339  305  
 340  306  .RE
 341  307  
 342  308  .sp
 343  309  .ne 2
 344  310  .na
 345  311  \fB\fBflowadm set-flowprop\fR [\fB-t\fR] [\fB-R\fR \fIroot-dir\fR] \fB-p\fR
 346  312  \fIprop\fR=\fIvalue\fR[,...] \fIflow\fR\fR
 347  313  .ad
 348  314  .sp .6
 349  315  .RS 4n
 350  316  Set values of one or more properties on the flow specified by name. The
 351      -complete list of properties can be retrieved using the \fBshow-flow\fR
      317 +complete list of properties can be retrieved using the \fBshow-flowprop\fR
 352  318  subcommand.
 353  319  .sp
 354  320  .ne 2
 355  321  .na
 356  322  \fB\fB-t\fR, \fB--temporary\fR\fR
 357  323  .ad
 358  324  .sp .6
 359  325  .RS 4n
 360  326  The changes are temporary and will not persist across reboots. Persistence is
 361  327  the default.
↓ open down ↓ 165 lines elided ↑ open up ↑
 527  493  .na
 528  494  \fB\fB-p\fR \fIprop\fR[,...], \fB--prop\fR=\fIprop\fR[,...]\fR
 529  495  .ad
 530  496  .sp .6
 531  497  .RS 4n
 532  498  A comma-separated list of properties to show.
 533  499  .RE
 534  500  
 535  501  .RE
 536  502  
 537      -.sp
 538      -.ne 2
 539      -.na
 540      -\fB\fBflowadm show-usage\fR [\fB-a\fR] [\fB-d\fR | {\fB-p\fR \fIplotfile\fR
 541      -\fB-F\fR \fIformat\fR}] [\fB-s\fR \fItime\fR] [\fB-e\fR \fItime\fR]
 542      -[\fIflow\fR]\fR
 543      -.ad
 544      -.sp .6
 545      -.RS 4n
 546      -Show the historical network flow usage from a stored extended accounting file.
 547      -Configuration and enabling of network accounting through \fBacctadm\fR(1M) is
 548      -required. The default output will be the summary of flow usage for the entire
 549      -period of time in which extended accounting was enabled.
 550      -.sp
 551      -.ne 2
 552      -.na
 553      -\fB\fB-a\fR\fR
 554      -.ad
 555      -.sp .6
 556      -.RS 4n
 557      -Display all historical network usage for the specified period of time during
 558      -which extended accounting is enabled. This includes the usage information for
 559      -the flows that have already been deleted.
 560      -.RE
 561      -
 562      -.sp
 563      -.ne 2
 564      -.na
 565      -\fB\fB-d\fR\fR
 566      -.ad
 567      -.sp .6
 568      -.RS 4n
 569      -Display the dates for which there is logging information. The date is in the
 570      -format \fIDD\fR/\fIMM\fR/\fIYYYY\fR.
 571      -.RE
 572      -
 573      -.sp
 574      -.ne 2
 575      -.na
 576      -\fB\fB-F\fR \fIformat\fR\fR
 577      -.ad
 578      -.sp .6
 579      -.RS 4n
 580      -Specifies the format of \fIplotfile\fR that is specified by the \fB-p\fR
 581      -option. As of this release, \fBgnuplot\fR is the only supported format.
 582      -.RE
 583      -
 584      -.sp
 585      -.ne 2
 586      -.na
 587      -\fB\fB-p\fR \fIplotfile\fR\fR
 588      -.ad
 589      -.sp .6
 590      -.RS 4n
 591      -When specified with \fB-s\fR or \fB-e\fR (or both), outputs flow usage data to
 592      -a file of the format specified by the \fB-F\fR option, which is required.
 593      -.RE
 594      -
 595      -.sp
 596      -.ne 2
 597      -.na
 598      -\fB\fB-s\fR \fItime\fR, \fB-e\fR \fItime\fR\fR
 599      -.ad
 600      -.sp .6
 601      -.RS 4n
 602      -Start and stop times for data display. Time is in the format
 603      -\fIYYYY\fR.\fIMM\fR.\fIDD\fR,\fIhh\fR:\fImm\fR:\fIss\fR.
 604      -.RE
 605      -
 606      -.sp
 607      -.ne 2
 608      -.na
 609      -\fB\fB-f\fR \fIfilename\fR\fR
 610      -.ad
 611      -.sp .6
 612      -.RS 4n
 613      -Read extended accounting records of network flow usage from \fIfilename\fR.
 614      -.RE
 615      -
 616      -.sp
 617      -.ne 2
 618      -.na
 619      -\fB\fIflow\fR\fR
 620      -.ad
 621      -.sp .6
 622      -.RS 4n
 623      -If specified, display the network flow usage only from the named flow.
 624      -Otherwise, display network usage from all flows.
 625      -.RE
 626      -
 627      -.RE
 628      -
 629  503  .SS "Flow Attributes"
 630      -.LP
 631  504  The flow operand that identify a flow in a \fBflowadm\fR command is a
 632  505  comma-separated list of one or more keyword, value pairs from the list below.
 633  506  .sp
 634  507  .ne 2
 635  508  .na
 636  509  \fB\fBlocal_ip\fR[\fB/\fR\fIprefix_len\fR]\fR
 637  510  .ad
 638  511  .sp .6
 639  512  .RS 4n
 640  513  Identifies a network flow by the local IP address. \fIvalue\fR must be a IPv4
↓ open down ↓ 8 lines elided ↑ open up ↑
 649  522  .RE
 650  523  
 651  524  .sp
 652  525  .ne 2
 653  526  .na
 654  527  \fB\fBremote_ip\fR[\fB/\fR\fIprefix_len\fR]\fR
 655  528  .ad
 656  529  .sp .6
 657  530  .RS 4n
 658  531  Identifies a network flow by the remote IP address. The syntax is the same as
 659      -\fBlocal_ip\fR attributes
      532 +the \fBlocal_ip\fR attribute.
 660  533  .RE
 661  534  
 662  535  .sp
 663  536  .ne 2
 664  537  .na
 665  538  \fB\fBtransport\fR={\fBtcp\fR|\fBudp\fR|\fBsctp\fR|\fBicmp\fR|\fBicmpv6\fR}\fR
 666  539  .ad
 667  540  .sp .6
 668  541  .RS 4n
 669  542  Identifies a layer 4 protocol to be used. It is typically used in combination
↓ open down ↓ 6 lines elided ↑ open up ↑
 676  549  \fB\fBlocal_port\fR\fR
 677  550  .ad
 678  551  .sp .6
 679  552  .RS 4n
 680  553  Identifies a service specified by the local port.
 681  554  .RE
 682  555  
 683  556  .sp
 684  557  .ne 2
 685  558  .na
      559 +\fB\fBremote_port\fR\fR
      560 +.ad
      561 +.sp .6
      562 +.RS 4n
      563 +Identifies a service specified by the remote port.
      564 +.RE
      565 +
      566 +.sp
      567 +.ne 2
      568 +.na
 686  569  \fB\fBdsfield\fR[\fB:\fR\fIdsfield_mask\fR]\fR
 687  570  .ad
 688  571  .sp .6
 689  572  .RS 4n
 690  573  Identifies the 8-bit differentiated services field (as defined in RFC 2474).
 691  574  .sp
 692  575  The optional \fIdsfield_mask\fR is used to state the bits of interest in the
 693  576  differentiated services field when comparing with the \fBdsfield\fR value. A
 694  577  \fB0\fR in a bit position indicates that the bit value needs to be ignored and
 695  578  a \fB1\fR indicates otherwise. The mask can range from \fB0x01\fR to
 696  579  \fB0xff\fR. If \fIdsfield_mask\fR is not specified, the default mask \fB0xff\fR
 697  580  is used. Both the \fBdsfield\fR value and mask must be in hexadecimal.
 698  581  .RE
 699  582  
 700  583  .sp
 701  584  .LP
 702      -The following five types of combinations of attributes are supported:
      585 +The following six types of combinations of attributes are supported:
 703  586  .sp
 704  587  .in +2
 705  588  .nf
 706  589  local_ip[/\fIprefixlen\fR]=\fIaddress\fR
 707  590  remote_ip[/\fIprefixlen\fR]=\fIaddress\fR
 708  591  transport={tcp|udp|sctp|icmp|icmpv6}
 709  592  transport={tcp|udp|sctp},local_port=\fIport\fR
      593 +transport={tcp|udp|sctp},remote_port=\fIport\fR
 710  594  dsfield=\fIval\fR[:\fIdsfield_mask\fR]
 711  595  .fi
 712  596  .in -2
 713  597  .sp
 714  598  
 715  599  .sp
 716  600  .LP
 717      -On a given link, the combinations above are mutually exclusive. An attempt to
 718      -create flows of different combinations will fail.
      601 +On a given link, the types of combinations above are mutually exclusive. An
      602 +attempt to create flows of different types on a given link will fail.
 719  603  .SS "Restrictions"
 720      -.LP
 721  604  There are individual flow restrictions and flow restrictions per zone.
 722  605  .SS "Individual Flow Restrictions"
 723      -.LP
 724  606  Restrictions on individual flows do not require knowledge of other flows that
 725  607  have been added to the link.
 726  608  .sp
 727  609  .LP
 728  610  An attribute can be listed only once for each flow. For example, the following
 729  611  command is not valid:
 730  612  .sp
 731  613  .in +2
 732  614  .nf
 733  615  # \fBflowadm add-flow -l vnic1 -a local_port=80,local_port=8080 httpflow\fR
↓ open down ↓ 25 lines elided ↑ open up ↑
 759  641  .in +2
 760  642  .nf
 761  643  # \fBflowadm add-flow -l e1000g0 -a local_port=25 flow25\fR
 762  644  # \fBflowadm add-flow -l e1000g0 -a transport=icmpv6,local_port=16 \e
 763  645  flow16\fR
 764  646  .fi
 765  647  .in -2
 766  648  .sp
 767  649  
 768  650  .SS "Flow Restrictions Per Zone"
 769      -.LP
 770  651  Within a zone, no two flows can have the same name. After adding a flow with
 771  652  the link specified, the link will not be required for display, modification, or
 772  653  deletion of the flow.
 773  654  .SS "Flow Properties"
 774      -.LP
 775  655  The following flow properties are supported. Note that the ability to set a
 776  656  given property to a given value depends on the driver and hardware.
 777  657  .sp
 778  658  .ne 2
 779  659  .na
 780  660  \fB\fBmaxbw\fR\fR
 781  661  .ad
 782  662  .sp .6
 783  663  .RS 4n
 784  664  Sets the full duplex bandwidth for the flow. The bandwidth is specified as an
↓ open down ↓ 7 lines elided ↑ open up ↑
 792  672  .na
 793  673  \fB\fBpriority\fR\fR
 794  674  .ad
 795  675  .sp .6
 796  676  .RS 4n
 797  677  Sets the relative priority for the flow. The value can be given as one of the
 798  678  tokens \fBhigh\fR, \fBmedium\fR, or \fBlow\fR. The default is \fBmedium\fR.
 799  679  .RE
 800  680  
 801  681  .SH EXAMPLES
 802      -.LP
 803  682  \fBExample 1 \fRCreating a Policy Around a Mission-Critical Port
 804  683  .sp
 805  684  .LP
 806  685  The command below creates a policy around inbound HTTPS traffic on an HTTPS
 807  686  server so that HTTPS obtains dedicated NIC hardware and kernel TCP/IP
 808  687  resources. The name specified, \fBhttps-1\fR, can be used later to modify or
 809  688  delete the policy.
 810  689  
 811  690  .sp
 812  691  .in +2
 813  692  .nf
 814  693  # \fBflowadm add-flow -l bge0 -a transport=TCP,local_port=443 https-1\fR
 815  694  # \fBflowadm show-flow -l bge0\fR
 816      -FLOW         LINK         IP ADDR                PROTO  PORT    DSFLD
 817      -https1       bge0         --                     tcp    443     --
      695 +FLOW         LINK       IPADDR                   PROTO  LPORT   RPORT   DSFLD
      696 +https1       bge0       --                       tcp    443     --      --
 818  697  .fi
 819  698  .in -2
 820  699  .sp
 821  700  
 822  701  .LP
 823  702  \fBExample 2 \fRModifying an Existing Policy to Add Bandwidth Resource Control
 824  703  .sp
 825  704  .LP
 826  705  The following command modifies the \fBhttps-1\fR policy from the preceding
 827  706  example. The command adds bandwidth control and give the policy a high
 828  707  priority.
 829  708  
 830  709  .sp
 831  710  .in +2
 832  711  .nf
 833  712  # \fBflowadm set-flowprop -p maxbw=500M,priority=high https-1\fR
 834  713  # \fBflowadm show-flow https-1\fR
 835      -FLOW         LINK         IP ADDR                PROTO  PORT    DSFLD
 836      -https1       bge0         --                     tcp    443     --
      714 +FLOW        LINK        IPADDR                   PROTO  LPORT   RPORT   DSFLD
      715 +https-1     bge0        --                       tcp    443     --      --
 837  716  
 838  717  # \fBflowadm show-flowprop https-1\fR
 839      -FLOW        PROPERTY    VALUE     DEFAULT      POSSIBLE
 840      -https-1     maxbw       500       --           --
 841      -https-1     priority    HIGH      --          LOW,NORMAL,HIGH
      718 +FLOW         PROPERTY        VALUE          DEFAULT        POSSIBLE
      719 +https-1      maxbw             500          --             --
      720 +https-1      priority        high           --             low,medium,high
 842  721  .fi
 843  722  .in -2
 844  723  .sp
 845  724  
 846  725  .LP
 847  726  \fBExample 3 \fRLimiting the UDP Bandwidth Usage
 848  727  .sp
 849  728  .LP
 850  729  The following command creates a policy for UDP protocol so that it cannot
 851  730  consume more than 100Mbps of available bandwidth. The flow is named
↓ open down ↓ 2 lines elided ↑ open up ↑
 854  733  .sp
 855  734  .in +2
 856  735  .nf
 857  736  # \fBflowadm add-flow -l bge0 -a transport=UDP -p maxbw=100M, \e
 858  737  priority=low limit-udp-1\fR
 859  738  .fi
 860  739  .in -2
 861  740  .sp
 862  741  
 863  742  .LP
 864      -\fBExample 4 \fRShowing Flow Usage
      743 +\fBExample 4 \fRSetting Policy, Making Use of \fBdsfield\fR Attribute
 865  744  .sp
 866  745  .LP
 867      -Flow usage statistics can be stored using the extended accounting facility,
 868      -\fBacctadm\fR(1M).
 869      -
 870      -.sp
 871      -.in +2
 872      -.nf
 873      -# \fBacctadm -e extended -f /var/log/net.log net\fR
 874      -
 875      -# \fBacctadm net\fR
 876      -Network accounting: active
 877      -Network accounting file: /var/log/net.log
 878      -Tracked Network resources: extended
 879      -Untracked Network resources: none
 880      -.fi
 881      -.in -2
 882      -.sp
 883      -
 884      -.sp
 885      -.LP
 886      -The historical data that was saved can be retrieved in summary form using the
 887      -\fBshow-usage\fR subcommand of \fBflowadm\fR.
 888      -
 889      -.LP
 890      -\fBExample 5 \fRSetting Policy, Making Use of \fBdsfield\fR Attribute
 891      -.sp
 892      -.LP
 893  746  The following command sets a policy for EF PHB (DSCP value of 101110 from RFC
 894  747  2598) with a bandwidth of 500 Mbps and a high priority. The \fBdsfield\fR value
 895  748  for this flow will be \fB0x2e\fR (101110) with the \fBdsfield_mask\fR being
 896  749  \fB0xfc\fR (because we want to ignore the 2 least significant bits).
 897  750  
 898  751  .sp
 899  752  .in +2
 900  753  .nf
 901  754  # \fBflowadm add-flow -l bge0 -a dsfield=0x2e:0xfc \e
 902  755  -p maxbw=500M,priority=high efphb-flow\fR
 903  756  .fi
 904  757  .in -2
 905  758  .sp
 906  759  
 907      -.sp
 908      -.LP
 909      -Display summary information:
 910      -
 911      -.sp
 912      -.in +2
 913      -.nf
 914      -# \fBflowadm show-usage -f /var/log/net.log\fR
 915      -FLOW      DURATION  IPACKETS RBYTES      OPACKETS OBYTES     BANDWIDTH
 916      -flowtcp   100       1031     546908      0        0          43.76 Kbps
 917      -flowudp   0         0        0           0        0           0.00 Mbps
 918      -.fi
 919      -.in -2
 920      -.sp
 921      -
 922      -.sp
 923      -.LP
 924      -Display dates for which logging information is available:
 925      -
 926      -.sp
 927      -.in +2
 928      -.nf
 929      -# \fBflowadm show-usage -d -f /var/log/net.log\fR
 930      -02/19/2008
 931      -.fi
 932      -.in -2
 933      -.sp
 934      -
 935      -.sp
 936      -.LP
 937      -Display logging information for \fBflowtcp\fR starting at 02/19/2008, 10:38:46
 938      -and ending at 02/19/2008, 10:40:06:
 939      -
 940      -.sp
 941      -.in +2
 942      -.nf
 943      -# \fBflowadm show-usage -s 02/19/2008,10:39:06 -e 02/19/2008,10:40:06 \e
 944      --f /var/log/net.log flowtcp\fR
 945      -FLOW      TIME       IPACKETS RBYTES      OPACKETS OBYTES     BANDWIDTH
 946      -flowtcp   10:39:06   1        1546         4       6539       3.23 Kbps
 947      -flowtcp   10:39:26   2        3586         5       9922       5.40 Kbps
 948      -flowtcp   10:39:46   1        240          1       216       182.40 bps
 949      -flowtcp   10:40:06   0        0            0       0           0.00 bps
 950      -.fi
 951      -.in -2
 952      -.sp
 953      -
 954      -.sp
 955      -.LP
 956      -Output the same information as above as a plotfile:
 957      -
 958      -.sp
 959      -.in +2
 960      -.nf
 961      -# \fBflowadm show-usage -s 02/19/2008,10:39:06 -e 02/19/2008,10:40:06 \e
 962      --p /home/plot/myplot -F gnuplot -f /var/log/net.log flowtcp\fR
 963      -# \fBTime tcp-flow\fR
 964      -10:39:06 3.23
 965      -10:39:26 5.40
 966      -10:39:46 0.18
 967      -10:40:06 0.00
 968      -.fi
 969      -.in -2
 970      -.sp
 971      -
 972  760  .SH EXIT STATUS
 973  761  .ne 2
 974  762  .na
 975  763  \fB\fB0\fR\fR
 976  764  .ad
 977  765  .sp .6
 978  766  .RS 4n
 979  767  All actions were performed successfully.
 980  768  .RE
 981  769  
↓ open down ↓ 1 lines elided ↑ open up ↑
 983  771  .ne 2
 984  772  .na
 985  773  \fB\fB>0\fR\fR
 986  774  .ad
 987  775  .sp .6
 988  776  .RS 4n
 989  777  An error occurred.
 990  778  .RE
 991  779  
 992  780  .SH ATTRIBUTES
 993      -.LP
 994  781  See \fBattributes\fR(5) for descriptions of the following attributes:
 995  782  .sp
 996  783  
 997  784  .sp
 998  785  .TS
 999  786  box;
1000  787  c | c
1001  788  l | l .
1002  789  ATTRIBUTE TYPE  ATTRIBUTE VALUE
1003  790  _
1004  791  Interface Stability     Committed
1005  792  .TE
1006  793  
1007  794  .SH SEE ALSO
1008      -.LP
1009      -\fBacctadm\fR(1M), \fBdladm\fR(1M), \fBifconfig\fR(1M), \fBprstat\fR(1M),
1010      -\fBroute\fR(1M), \fBattributes\fR(5), \fBdlpi\fR(7P)
      795 +\fBdladm\fR(1M), \fBflowstat\fR(1M), \fBifconfig\fR(1M),
      796 +\fBroute\fR(1M), \fBattributes\fR(5)
      797 +
      798 +.SH NOTES
      799 +The display of statistics by the \fBshow-flow\fR subcommand, and the
      800 +\fBshow-usage\fR subcommand, have been removed. This functionality can
      801 +now be accessed using the \fBflowstat\fR(1M) utility.
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX