Go to main content
マニュアルページ セク ション 1M: シ ステム管理コマン ド

印刷ビューの終了

更新: 2016年12月6日
 
 

flowadm(1M)

名前

flowadm - 接続、プロトコル、サービス、コンテナ、および仮想マシンの帯域幅リソース制御および優先度の管理

形式

flowadm
flowadm show-flow [-P] [[-p] -o field[,...]] [{-l link | flow}]
flowadm match-flow [-P] [[-p] -o  field[,...]] [-l link]
           -a attr=value[,...]
flowadm add-flow [-t] [-R root-dir] -l link -a attr=value[,...]
     [-p prop=value[,...]] flow
flowadm remove-flow [-t] [-R root-dir] {-l link | flow}
flowadm set-flowprop [-t] [-R root-dir] -p prop=value[,...] flow
flowadm reset-flowprop [-t] [-R root-dir] [-p prop[,...]] flow
flowadm show-flowprop [-P] [[-c] -o field[,...]] [-l link]
     [-p prop[,...]] [flow]
flowadm help [subcommand-name]

説明

flowadm コマンドは、特定リンク上のあるトラフィックタイプに対するネットワーク帯域幅、優先度、および関連リソースを作成、変更、削除、および表示するために使用されます。

flowadm コマンドを使用すると、トランスポート、サービス、またはサブネットのネットワーク帯域幅リソースを管理できます。サービスは、すべてまたは一部の属性 (トランスポート、ローカルポート、リモートポート、ローカル IP アドレス、リモート IP アドレス) の組み合わせで指定できます。サブネットは、その IP アドレスとサブネットマスクで指定します。このコマンドは、物理リンク、仮想 NIC、リンクアグリゲーションなど、任意のタイプのデータリンクで使用できます。

フローは、レイヤー 3 およびレイヤー 4 のヘッダーに基づく一連の属性として定義され、プロトコル、サービス、1 つの接続、または仮想マシンを識別するために使用できます。

有効なフロー名には制限があります。第 1 に、フロー名は 31 文字を超えることはできません。第 2 に、フロー名は英数字 (a-z、A-Z、0-9)、下線 (「_」)、ピリオド (「.」) およびハイフン (「-」) のみで構成し、英字で始める必要があります。

flowadm コマンドを使用してフローを識別する際に、帯域幅リソースの制御を課さないようにすることもできます。これにより、flowstat(1M) とともに使用した場合の、フロー観測性が向上します。

フローの作成、変更、および削除は、すべての大域ゾーン、非大域ゾーン、およびカーネルゾーンで行うことができます。ゾーン管理者は、自身の大域または非大域ゾーン内でしかフローを作成できません。ただし、次の段落で説明するように、大域ゾーンで作成されたフローを非大域ゾーンに移行することは可能です。管理者がフローの変更や削除を行えるのは、そのフローの作成元となる大域または非大域ゾーン内からだけです。大域ゾーンのユーザーは、大域ゾーン内とすべての非大域ゾーン内に存在している、システム上のすべてのフローを表示できます。非大域ゾーンのユーザーが表示できるのは、そのゾーン内のフローだけです。

管理者は、大域ゾーン内でのフローの作成が完了すると、そのフローに関連付けられたデータリンクを非大域ゾーンに割り当てることができます。そのような場合、関連するフローもその同じ非大域ゾーンに割り当てられます。この非大域ゾーンが停止すると、データリンクとその関連フローは大域ゾーンに戻されます。

同じ名前のフローでも、ゾーン名が異なれば区別されます。たとえば、fastpak という名前のフローを 3 つ作成する場合、fastpak をそれぞれ異なるゾーン内に格納すれば可能となります。たとえば、zone1/fastpakzone2/fastpak、および zone3/fastpak はすべて有効なゾーン名です。

すべてのフロー構成は、ネットワーク構成プロファイル (NCP) の一部です。NCP は 1 つのシステムにいくつでも定義できますが、アクティブな NCP は常に 1 つになります。flowadm コマンドを使用して行われた変更は、現在アクティブになっている NCP に適用されます。

NCP は「固定」または「リアクティブ」にできます。DefaultFixed と呼ばれる固定 NCP が 1 つあります。NCP の詳細は、netcfg(1M) を参照してください。

flowadm は、対応するオプションを備えた一連のサブコマンドとして実装されています。オプションについては各サブコマンドの文脈で説明します。flowadm がサブコマンドなしで呼び出されると、システムで構成されているすべてのフローが表示されます。詳細は、後述の「使用例」を参照してください。

サブコマンド

サポートされているサブコマンドは次のとおりです。

flowadm show-flow [–P] [[–p] –o field[,...]] [{–l link | flow}]

すべてのフロー、1 つのリンクのすべてのフロー、指定されたフローのいずれかに対するフロー構成情報を表示します。出力はランク順です。つまり、パケットの検索は出力の最初のフローから順に行われます。

–o field[,...]

表示する出力フィールドのコンマ区切りのリスト (大文字と小文字は区別されません)。フィールド名は、次に示すフィールドのいずれか、またはすべてのフィールドを表示するための特殊な値 all にする必要があります。見つかったフローごとに、次のフィールドを表示できます。

flow

フローの名前。

link

フローが存在するリンクの名前。

proto

使用されるトランスポートレイヤープロトコルの名前。

laddr

フローのローカル IP アドレス。指定しない場合、それは「--」として表示されます。

lport

フローのサービスのローカルポート。

raddr

フローのリモート IP アドレス。指定しない場合、それは「--」として表示されます。

rport

フローのサービスのリモートポート。

dir

フローの方向。値は、インバウンドのみを表す「in」、アウトバウンドのみを表す「out」、または双方向を表す「bi」です。

dsfld

フローの差別化サービス値、および IP ヘッダーの差別化サービスフィールドのどのビットを対象とするかを指定するために DSFLD 値とともに使用されるマスク。このフィールドはデフォルトの flowadm の出力には表示されませんが、次を使用して表示できます。

flowadm show-flow -o all

または

flowadm show-flow -o flow,dsfld
ipaddr

フローの IP アドレス。これは、フローの定義方法に応じて、ローカルかリモートのいずれかになります。このフィールドは非推奨であり、下位互換性のためだけに存在します。そのため、–o オプションとともに指定しないかぎり、デフォルトでは表示されません。代わりに、laddr および raddr を使用することをお勧めします。

pid

このフローを作成したプロセスの PID を指定します。このフィールドは、システムによって生成されたフローにのみ意味を持ち、ユーザーが生成したフローには「--」を表示します。

システムで生成されるフロー (「<id>.sys.sock」という接頭辞が付く) は、SO_FLOW_SLA オプションを使用して setsockopt() を呼び出すアプリケーションによって作成される一時フローです。

–p––parseable

安定したマシン解析可能な形式を使用して表示します。

–P––persistent

永続的なフロープロパティーの情報を表示します。

–l link, ––link=link | flow

指定されたリンク上のすべてのフローの情報または指定されたフローの情報を表示します。

flowadm match-flow [–P] [[–p] –o field[,...]] [–l link] –a attr=value[,...]

システムに存在するフローのうち、指定されたフロー属性のリストに一致する可能性のあるフローを検索します。複数のフローが返される場合は、パケットのフロー分類を検索した順にフローが表示されます。

–p, –-parseable

安定したマシン解析可能な形式を使用して表示します。

–P, –-persistent

永続的なフロープロパティーの情報を表示します。

–o field[,...]

前述の show-flow サブコマンドの –o フィールドの段落を参照してください。

–l link, –-link=link

指定したリンク上のフローだけを検索します。リンクが指定されていない場合、すべてのリンク上のフローが使用されます。

–a attr=value[,...], –-attr=value

一致するフローを検索するためのキーとして使用する、属性のコンマ区切りリスト。

flowadm add-flow [–t] [–R root-dir] –l link –a attr=value[,...] –p prop=value[,...] flow

システムにフローを追加します。フローはそのフロー属性とフロープロパティーによって識別されます。

特定のフローを識別するにあたり、その帯域幅、リソース、および優先度を制限できます。

–t, –-temporary

変更は一時的なものであり、リブート後は永続しません。永続がデフォルトです。

–R root-dir, ––root-dir=root-dir

flowadm が永続的な作成を適用するべき代替ルートディレクトリを指定します。

–l link, ––link=link

フローの追加先となるリンクを指定します。

–a attr=value[,...]、––attr=value

指定された値に設定される属性のコンマ区切りリスト。

–p prop=value[,...], ––prop=value[,...]

指定された値に設定するプロパティーのコンマ区切りのリスト。

flowadm remove-flow [–t] [–R root-dir] {–l link | flow}

リンクまたは名前で特定された既存のフローを削除します。

–t, ––temporary

変更は一時的なものであり、リブート後は永続しません。永続がデフォルトです。

–R root-dir, ––root-dir=root-dir

flowadm が永続的な削除を適用するべき代替ルートディレクトリを指定します。

–l link | flow, ––link=link | flow

リンクが指定されている場合、そのリンクからすべてのフローを削除します。単一のフローが指定されている場合は、そのフローだけを削除します。

flowadm set-flowprop [–t] [–R root-dir] –p prop=value[,...] flow

名前で指定されたフローで、1 つ以上のプロパティーの値を設定します。プロパティーの完全な一覧を取得するには、show-flow サブコマンドを使用します。

–t, ––temporary

変更は一時的なものであり、リブート後は永続しません。永続がデフォルトです。

–R root-dir, ––root-dir=root-dir

flowadm が永続的なプロパティー設定を適用するべき代替ルートディレクトリを指定します。

–p prop=value[,...], ––prop=value[,...]

指定された値に設定するプロパティーのコンマ区切りのリスト。

flowadm reset-flowprop [–t] [–R root-dir] [–p prop =value[,...]] flow

指定されたフローで、1 つ以上のプロパティーをデフォルト値にリセットします。プロパティーが指定されていない場合、すべてのプロパティーがリセットされます。デフォルト値など、プロパティーの説明については、show-flowprop サブコマンドを参照してください。

–t, ––temporary

リセットを一時的なものとして指定します。一時的なリセットは、次回のリブートまで保持されます。

–R root-dir, ––root-dir=root-dir

flowadm が永続的なプロパティー設定を適用するべき代替ルートディレクトリを指定します。

–p prop[,...]

リセットするプロパティーのコンマ区切りのリスト。

flowadm show-flowprop [–cP] [–l link] [–p prop[,...]] [flow]

すべてのフロー、指定されたリンクのフロー、指定されたフローのいずれかに対する 1 つ以上のプロパティーの現在値または永続的な値を表示します。

デフォルトでは、現在の値が表示されます。プロパティーが指定されていない場合、使用可能なすべてのフロープロパティーが表示されます。プロパティーごとに、次のフィールドが表示されます。

FLOW

フローの名前。

PROPERTY

プロパティーの名前。

PERM

プロパティーのアクセス権。読み取り専用プロパティーには「r-」、読み取りと書き込みの両方ができるプロパティーには「rw」。

VALUE

現在の (または永続的な) プロパティー値。値は、未設定の場合は -- (ハイフン 2 つ) として表示され、未知の場合は ? (疑問符) として表示されます。設定されていないか、またはリセットされた永続的な値は -- と表示され、システムの DEFAULT 値 (ある場合) を使用します。

DEFAULT

プロパティーのデフォルト値。プロパティーにデフォルト値がない場合は、-- (ハイフン 2 つ) が表示されます。

POSSIBLE

プロパティーに設定できる値のコンマ区切りのリスト。値に数値の範囲がある場合は、短縮形として最小値と最大値が表示される可能性があります。指定可能な値が不明または無限の場合は、-- (ハイフン 2 つ) が表示されます。

フロープロパティーについては「フロープロパティー」のセクションで説明されています。

–c, ––parseable

安定したマシン解析可能な形式を使用して表示します。

–P––persistent

永続的なフロープロパティーの情報を表示します。

–p prop[,...], ––prop=prop[,...]

表示するプロパティーのコンマ区切りのリスト。

flowadm help [subcommand-name]

サポートされているすべての flowadm サブコマンド、または特定のサブコマンドの使用法を表示します。特定のサブコマンドのヘルプを表示すると、コマンド構文および例が表示されます。flowadm help を引数なしで使用すると、すべてのサブコマンドが表示されます。

フロー属性

flowadm コマンド内でフローを識別するフローオペランドは、次の一覧から選択した 1 つ以上のキーワード-値ペアのコンマ区切りのリストです。

local_ip[/prefix_len]

ローカル IP アドレスでネットワークフローを識別します。value はドット区切り 10 進表記の IPv4 アドレス、コロン区切り表記の IPv6 アドレスのいずれかでなければいけません。prefix_len はオプションです。

prefix_len が指定された場合、それは、ifconfig(1M)route(1M) のアドレスと同じ表記規則に従って、サブネットアドレスのネットマスクを記述します。これが指定されなかった場合、指定された IP アドレスはホストアドレスとみなされ、そのデフォルトプレフィックス長は、IPv4 アドレスでは /32、IPv6 では /128 になります。

remote_ip[/prefix_len]

リモート IP アドレスでネットワークフローを識別します。その構文は local_ip 属性と同じです

transport={tcp|udp|sctp|icmp|icmpv6}

使用するレイヤー 4 プロトコルを識別します。これは通常、特別な注意を払う必要のあるローカルまたはリモートのサービスを識別するために、local_port または remote_port と組み合わせて使用されます。

local_port

ローカルポートで指定されるサービスを識別します。

remote_port

リモートポートで指定されるサービスを識別します。

direction={in|out|bi}

フローの方向をインバウンドのみ、アウトバウンドのみ、または双方向として識別します。この属性が指定されていない場合、フローは双方向として扱われます。

dsfield[:dsfield_mask]

RFC 2474 で定義されているとおりに 8 ビットの差別化サービスフィールドを識別します。

省略可能な dsfield_mask は、dsfield 値との比較時に差別化サービスフィールドのどのビットを対象とするかを指定するために使用されます。あるビット位置の値が 0 の場合、それは、そのビットの値を無視する必要があることを示し、1 の場合はその逆を示します。このマスクの範囲は 0x01 から 0xff です。dsfield_mask が指定されていなければ、デフォルトマスク 0xff の値が使用されます。dsfield 値とマスクはどちらも 16 進数値でなければいけません。

属性のすべての組み合わせを使用できます。以前のリリースでは一部の組み合わせだけが許可されていましたが、これによってその制限がなくなります。

異なる属性の組み合わせを持つフローを 1 つのリンク上に作成できます。以前のリリースでは 1 つのリンク上のすべてのフローに同じフロー属性の組み合わせが必要でしたが、これによってその制限がなくなります。

異なる属性の組み合わせを持つフローを作成する場合、それらを相互に排他的とするか、(排他的ではなく) 重複させることができます。

後者の場合、フローはフローの作成時に指定した属性の数を使用してランク付けされます。同じ数の属性を持つフローは、システムのデフォルトポリシーに基づいてランク付けされます。flowadm show-flow の出力には、特定のリンク上の一連のフローがランク順に表示されます。つまり、パケットの検索は出力の最初のフローから順に行われます。

制限

制限には、個別のフロー制限とゾーンごとのフロー制限があります。

個別のフロー制限

各フローで属性を指定できるのは、1 回だけです。たとえば、次のコマンドは有効ではありません。

# flowadm add-flow -l vnic1 -a local_port=80,local_port=8080 httpflow

transportlocal_port または transportremote_port:

TCP、UDP、または SCTP フローの指定時には、ローカルポートまたはリモートポートを使用できます。ICMP または ICMPv6 フローではポートを指定できません。

次のコマンドは有効です。

# flowadm add-flow -l e1000g0 -a transport=udp udpflow
# flowadm add-flow -l e1000g0 -a transport=tcp,local_port=80 \
udp80flow

次のコマンドは有効ではありません。

# flowadm add-flow -l e1000g0 -a transport=icmpv6,remote_port=16 \
flow16
ゾーンごとのフロー制限

あるゾーン内で同じ名前のフローを 2 つ作成することはできません。リンクを指定してフローを追加した場合、そのフローを表示、変更、または削除する際にリンクを指定する必要はありません。

フロープロパティー

サポートされるフロープロパティーは次のとおりです。あるプロパティーを特定の値に設定できるかどうかは、ドライバやハードウェアによって異なることに注意してください。

maxbw

フローの全二重帯域幅を設定します。この帯域幅は、いずれかのスケールサフィックス (Kbps、Mbps、または Gbps を示す KM、または G) が付いた整数として指定されます。単位が指定されていない場合、入力値は Mbps として読み取られます。デフォルトでは、帯域幅の制限はありません。

priority

フローの優先度を設定します。優先度の値には、「high」、「medium」、および「low」のいずれかを指定できます。優先度のデフォルト値は「medium」です。

フロー上でトークンを「high」に設定すると、そのフローに分類されているパケットが、同じリンク上の通常のフローからのパケットよりも先に処理されるという効果があります。また、そのフローは NIC にオフロードされます (NIC にフローのオフロード機能がある場合)。優先度の高いフローでは、システムリソースの可用性に応じて待機時間が短縮されることがあります。

dscp

フローのすべての送信 IP パケットに対して指定された DSCP 値を設定します。有効な値は 0 から 63 までです。この値は 10 進数で指定する必要があります。IPV4 の場合は DSCP フィールドに 6 つの DSCP ビットを設定し、IPv6 の場合はトラフィッククラスフィールドに 6 つの DSCP ビットを設定します。2 つの ECN ビットは変更されません。これは RFC 2474 に準拠しています。

フローで「dscp」プロパティーが設定されており、パケットがそのフローに分類された場合は、アプリケーションが setsockopt (3C) を使用して設定した IP_TOS 値がすべて上書きされることに注意してください。

hwflow

フローが基本となる NIC にオフロードされるかどうかを示す読み取り専用のプロパティー。「on」はフローがオフロードされることを意味し、「off」はそうでないことを意味します。

rank

フローのランクを指定します。ランクの有効値は 1 から 65535 です。

すべてのフローにランクプロパティーを設定する必要はありません。ランクプロパティーが指定されているフローは、ランクが指定されていないフローよりも常に先に検索されます。

ランク値の低いフローが、ランク値の高いフローよりも先に検索されます。同じランクのフローが 2 つ存在してもかまいません。この場合、システムのデフォルトポリシーに従って順位が決まります。

使用例 1 フロー構成の表示

次のコマンドは flowadm を引数なしで呼び出し、その結果システムのすべてのフローを表示します。

# flowadm
	FLOW        LINK     PROTO LADDR             LPORT RADDR             RPORT DIR  
       tcpflow     net0     tcp   --                --    --                --    bi
       udpflow     net0     udp   --                --    --                --    bi
使用例 2 ミッションクリティカルポートに関するポリシーの作成

次のコマンドは、HTTPS が専用の NIC ハードウェアとカーネル TCP/IP リソースを取得できるように、HTTPS サーバーのインバウンド HTTPS トラフィックに関するポリシーを作成しています。指定されている名前 https-1 は、あとでポリシーの変更や削除を行う際に使用できます。

# flowadm add-flow -l net0 -a transport=TCP,local_port=443 https-1
	# flowadm show-flow -l net0
	FLOW        LINK     PROTO LADDR             LPORT RADDR             RPORT DSFLD
	https-1     net0     tcp   --                443   --                --    bi
使用例 3 既存のポリシーの変更による帯域幅リソース制御の追加

次のコマンドは、前述の例の https-1 ポリシーを変更します。このコマンドは帯域幅制御を追加します。


# flowadm set-flowprop -p maxbw=500M https-1
	#  flowadm show-flow https-1
	FLOW        LINK     PROTO LADDR             LPORT RADDR             RPORT DSFLD
	https-1     net0     tcp   --                443   --                --    bi

# flowadm show-flowprop https-1
	FLOW         PROPERTY        PERM VALUE          DEFAULT        POSSIBLE
	https-1      maxbw           rw     500          --             -- 
	https-1      priority        rw   medium         medium         low,medium,high 
	https-1      hwflow          r-   off            --             on,off 

使用例 4 UDP 帯域幅使用量の制限

次のコマンドは、UDP プロトコルのポリシーを作成し、使用可能な帯域幅のうち、100 Mbps を超える量をそのプロトコルが消費できないようにしています。このフローには limit-udp-1 という名前が付けられています。

# flowadm add-flow -l net0 -a transport=UDP -p maxbw=100M \
       limit-udp-1
使用例 5 ローカルアドレス/ポートによって定義されたフローへのポリシーの設定

次のコマンドは、ローカル IP ポートが 192.168.200.102:443 である TCP フロー用のポリシーを作成します。つまり、高い優先度と 800M ビット/秒という最大帯域幅で配信されるような HTTPS パケットを優遇します。

# flowadm add-flow -l net0 -a transport=tcp,\
       local_ip=192.168.200.102,local_port=443 \
       -p priority=high,maxbw=800M my-https

# flowadm show-flow
	FLOW        LINK     PROTO LADDR             LPORT RADDR             RPORT DSFLD
	my-https    net0     tcp   192.168.200.102   443   --                --    bi

# flowadm show-flowprop
	FLOW         PROPERTY        PERM VALUE          DEFAULT        POSSIBLE
	my-https     maxbw           rw     800          --             -- 
	my-https     priority        rw   high           medium         low,medium,high 
	my-https     hwflow          r-   off            --             on,off
使用例 6 ローカル/リモートアドレス/ポートによって定義されたフローへのポリシーの設定

次のコマンドは、ローカル IP ポートが 192.168.200.102:443 で、リモート IP ポートが 192.168.200.104:12785 である TCP フロー用のポリシーを作成します。つまり、特定のリモート IP ポートと通信している HTTPS パケットを優遇します。このフローに属しているパケットはすべて、高い優先度で配信されます。同時に、このフローで消費する帯域幅が使用可能な帯域幅の 800M ビット/秒を超えることはできません。

# flowadm add-flow -l net0 -a transport=tcp,\
       local_ip=192.168.200.102,local_port=443,\
       remote_ip=192.168.200.104,remote_port=12785 \
       -p priority=high,maxbw=800M my-flow

# flowadm show-flow
	FLOW        LINK     PROTO LADDR             LPORT RADDR             RPORT DSFLD
	my-flow     net0     tcp   192.168.200.102   443   192.168.200.104   12785 bi

# flowadm show-flowprop
	FLOW         PROPERTY        PERM VALUE          DEFAULT        POSSIBLE
	my-flow      maxbw           rw     800          --             -- 
	my-flow      priority        rw   high           medium         low,medium,high 
	my-flow      hwflow          r-   off            --             on,off 
使用例 7 dsfield 属性を使用したポリシーの設定

次のコマンドは、帯域幅 500Mbps の EF PHB (RFC 2598 の DSCP 値 101110) に対するポリシーを設定します。このフローでは、dsfield の値が 0x2e (101110)、dsfield_mask0xfc になっています (下位 2 ビットを無視する必要があるため)。

# flowadm add-flow -l net0 -a dsfield=0x2e:0xfc
-p maxbw=500M efphb-flow
使用例 8 複数ゾーン内のフローの表示

次のコマンドは、同じ名前を持つ 2 つのフローを表示しています。最初のフローは大域ゾーン内に存在し、2 番目のフローはゾーン zone1 内に存在しています。このコマンドは大域ゾーンから呼び出されているため、ユーザーはシステム上のすべてのフローを表示できます

# flowadm 
	FLOW        LINK     PROTO LADDR             LPORT RADDR             RPORT DSFLD
	tcpflow     net0     tcp   --                --    --                --    bi
	zone1/tcpflow zone1/net0 tcp   --                --    --                --    bi
使用例 9 システムフローを作成したプロセスの取得

次のコマンドは、システムフローを指定して、pid とプロセス名を取得する方法を示します。


# flowadm
	FLOW        LINK     PROTO LADDR             LPORT RADDR             RPORT DSFLD
	1.sys.sock  net5     tcp   10.1.5.100        51204 10.1.5.101        22    bi

# ps `flowadm show-flow -p -o pid 5.sys.sock`
      PID TT       S  TIME COMMAND
     1581 pts/1    T  0:00 ssh 10.1.5.101

次のコマンドは、pid によって作成されたすべてのフローを見つける方法を示します。

# flowadm show-flow  -p -o pid,flow | grep 1581
      1581:1.sys.sock
使用例 10 アウトバウンドのみのフローに対する帯域幅制限の設定

次のコマンドは、アウトバウンドのみのフローを作成し、それに対して帯域幅制限を設定する方法を示しています。

# flowadm add-flow -l net4 -a remote_ip=10.1.5.101,direction=out backup
# flowadm set-flowprop -p maxbw=500M backup

終了ステータス

0

アクションはすべて正常に実行されました。

>0

エラーが発生した。

属性

属性についての詳細は、マニュアルページの attributes(5) を参照してください。

属性タイプ
属性値
使用条件
system/network
インタフェースの安定性
確実

関連項目

acctadm(1M), dladm(1M), flowstat(1M), ifconfig(1M), prstat(1M), route(1M), attributes(5), ifconfig(1M)

以前のリリースの flowadm に存在していた show-usage サブコマンドは、flowstat(1M) –h コマンドで置き換えられました。