3.3. OVS

これらのコマンドを使用して、Open vSwitch 関連の情報を表示します。

Actionコマンド

OVS DPDK の人間が読める形式の統計

Open vSwitch DPDK 統計 を参照してください。

OVS の基本情報を表示します (バージョン、dpdk 有効化、PMD コア、lcore、ODL ブリッジマッピング、バランシング、自動バランシングなど)

# ovs-vsctl list Open_vSwitch

OVS グローバルスイッチングビューを表示します

# ovs-vsctl show

OVS にすべての詳細なインターフェイスを表示します

# ovs-vsctl list interface

1 つのインターフェイスの OVS 詳細 (リンク速度、MAC、ステータス、統計など) を表示します

# ovs-vsctl list interface dpdk0

特定のインターフェイスの OVS カウンターを表示します

# ovs-vsctl get interface dpdk0 statistics

OVS にすべての詳細なポートを表示します

# ovs-vsctl list port

1 つのポートの OVS の詳細を表示します (リンク速度、MAC、ステータス、統計など)

# ovs-vsctl list port vhu3gf0442-00

1 つのブリッジの OVS 詳細を表示します (データパスタイプ、マルチキャストスヌーピング、stp ステータスなど)

# ovs-vsctl list bridge br-int

OVS ログステータスを表示します

# ovs-appctl vlog/list

すべての OVS ログをデバッグに変更します

# ovs-appctl vlog/set dbg

1 つの特定の OVS サブシステムを、ファイルログ出力のデバッグモードに変更します

# ovs-appctl vlog/set file:backtrace:dbg

すべての OVS ログを無効にします

# ovs-appctl vlog/set off

すべての OVS サブシステムを、ファイルログ出力のみをデバッグするように変更します

# ovs-appctl vlog/set file:dbg

すべての OVS 拡張コマンドを表示します

# ovs-appctl list-commands

すべての OVS ボンディングを表示します

# ovs-appctl bond/list

特定の OVS ボンディングに関する詳細を表示します (ステータス、ボンディングモード、転送モード、LACP ステータス、ボンディングメンバー、ボンディングメンバーステータス、リンクステータス)

# ovs-appctl bond/show bond1

メンバー、ボンディング、パートナースイッチの高度な LACP 情報を表示します

# ovs-appctl lacp/show

OVS インターフェイスカウンターを表示します

# ovs-appctl dpctl/show -s

反復間の違いを強調する OVS インターフェイスカウンターを表示します

# watch -d -n1 "ovs-appctl dpctl/show -s|grep -A4 -E '(dpdk|dpdkvhostuser)'|grep -v '\-\-'"

特定のポートの OVSmempool 情報を表示します

# ovs-appctl netdev-dpdk/get-mempool-info dpdk0

PMD パフォーマンス統計を表示します

# ovs-appctl dpif-netdev/pmd-stats-show

一貫した方法で PMD パフォーマンス統計を表示します

# ovs-appctl dpif-netdev/pmd-stats-clear && sleep 60s && ovs-appctl dpif-netdev/pmd-stats-show

人間が読める形式の DPDK インターフェイス統計を表示します

# ovs-vsctl get interface dpdk0 statistics|sed -e "s/,/\n/g" -e "s/[\",\{,\}, ]//g" -e "s/=/ =⇒ /g"

ポート/キューと PMD スレッド間の OVS マッピングを表示します

# ovs-appctl dpif-netdev/pmd-rxq-show

OVS PMD リバランスをトリガーします (PMD サイクルの使用率に基づく)

# ovs-appctl dpif-netdev/pmd-rxq-rebalance

OVS ポートと特定の PMD の間にアフィニティーを作成します (PMD をバランシングから無効にします)

# ovs-vsctl set interface dpdk other_config:pmd-rxq-affinity="0:2,1:4"

(OVS 2.11+ および FDP18.09) サイクルに基づいて PMD バランシングを設定します

# ovs-vsctl set Open_vSwitch . other_config:pmd-rxq-assign=cycles

(OVS 2.11+ および FDP18.09) ラウンドロビンで PMD バランシングを設定します

# ovs-vsctl set Open_vSwitch . other_config:pmd-rxq-assign=roundrobin

OVS-DPDK 物理ポートキューの数を設定します

# ovs-vsctl set interface dpdk options:n_rxq=2

OVS-DPDK 物理ポートのキューサイズの数を設定します

# ovs-vsctl set Interface dpdk0 options:n_rxq_desc=4096

# ovs-vsctl set Interface dpdk0 options:n_txq_desc=4096

OVS MAC アドレステーブルを表示します (action=normal に使用)

# ovs-appctl fdb/show br-provider

OVS vSwitch MAC アドレステーブルのエージングタイムを設定します (デフォルトは 300 秒)

# ovs-vsctl set bridge br-provider other_config:mac-aging-time=900

OVS vSwitch MAC アドレステーブルサイズの設定します (デフォルトは 2048 秒)

# ovs-vsctl set bridge br-provider other_config:mac-table-size=204800

OVS データパスフロー (カーネルスペース) を表示します

# ovs-dpctl dump-flows -m

OVS データパスフローを表示します (dpdk)

# ovs-appctl dpif/dump-flows -m br-provider

データパスフローのポート番号とポート名の間のマッピングを表示します

# ovs-dpctl show

特定のブリッジで OVSOpenFlow ルールを表示します

# ovs-ofctl dump-flows br-provider

OpenFlow フローのポート番号とポート名の間のマッピングを表示します

# ovs-ofctl show br-provider

(OVS 2.11+) - 自動リバランスを有効にします

# ovs-vsctl set Open_vSwitch . other_config:pmd-auto-lb="true"

(OVS 2.11+) - 自動リバランス間隔を別の値に変更します (デフォルトは 1 分)

# ovs-vsctl set Open_vSwitch . other_config:pmd-auto-lb-rebalance-intvl="5"

詳細な OVS 内部設定

# man ovs-vswitchd.conf.db

OVStcpdump をダウンロードするには

# curl -O -L ovs-tcpdump.in

DPDK インターフェイスからパケットキャプチャを実行するには

# ovs-tcpdump.py --db-sock unix:/var/run/openvswitch/db.sock -i <bond/vhu> <tcpdump standard arguments such as -v -nn -e -w <path/to/file>>

(OVS 2.10+) 詳細な PMD パフォーマンス統計

# ovs-appctl dpif-netdev/pmd-perf-show