ip コマンドを使用した openvswitch 仮想スイッチの一覧表示

ip コマンドを使用した openvswitch 仮想スイッチの一覧表示

私が構成したオープンスイッチip次のコマンドを使用して一覧表示できる仮想スイッチ:

# Show all interfaces
ip link

出力:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

<snip>

5: ovs-system: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether 8a:94:11:48:01:db brd ff:ff:ff:ff:ff:ff
6: ovsbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/ether e6:db:3f:88:4b:48 brd ff:ff:ff:ff:ff:ff

この出力の openvswitch 名は次のとおりです。ovsbr0

ipこれで、次のコマンドを使用してこの仮想スイッチのみを一覧表示し、他のインターフェイスは除外したいと思います。

# List only bridges
ip link show type bridge

予想出力:

6: ovsbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/ether e6:db:3f:88:4b:48 brd ff:ff:ff:ff:ff:ff

実際の出力:

<no output>


このコマンドが出力されるのはなぜですかovsbr0

この質問は具体的ですopenvswitch。これは、同じコマンドを使用してそうでないブリッジを一覧表示するとopenvswitch正しく機能するためです。

次のコマンドを使用して生成されたブリッジの例ip

# Create bridge named "br0"
sudo ip link add br0 type bridge

# Show the newly created bridge called "br0"
ip link show type bridge

期待される出力を提供します。

7: br0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether 6a:76:6f:50:da:35 brd ff:ff:ff:ff:ff:ff

ご覧のとおり、このコマンドを使用してブリッジを作成すると、コマンドは機能しますip
しかし、これはうまくいきませんopenvswitch

質問:

  1. このコマンドを使用してインターフェイス(仮想スイッチ)のみを一覧ip表示するにはどうすればよいですか?openvswitch
  2. このコマンドがインターフェイス(仮想スイッチ)を一覧ip表示できないのはなぜですか?openvswitch

追加の背景:

openvswitchコマンドでip生成されるのではなく、次のように生成されます。ovs-vsctlopenvswitchパッケージの一部であるコマンド:

sudo ovs-vsctl add-br ovsbr0

ただし、コマンドを使用してブリッジを作成していない場合でも、次のコマンドを使用して削除できますopenvswitchipip

# Delete it with ip command
sudo ip link delete ovsbr0

# Alternative and conventional method
sudo ovs-vsctl del-br ovsbr0

私が試したこと:

# List openvswitch only but specifying type other than TYPE bridge
ip link show type TYPE

リストをテストできる他のインタフェースタイプは何ですか?

# See TYPE := section from this output for types other than "bridge"
ip link show help

答え1

Open vSwitch インターフェイスはカーネルではありません。インターフェイスですがコア(-加速)オープンスイッチインターフェイスには独自の独立したドライバがあります。

疑わしい場合、このオプションはすべてのインターフェースタイプに対して表示されます-details(OPに一致するように編集されています)。

$ ip -details link show dev ovsbr0
6: ovsbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/ether e6:db:3f:88:4b:48 brd ff:ff:ff:ff:ff:ff promiscuity 1 allmulti 0 minmtu 68 maxmtu 65535 
    openvswitch numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 tso_max_size 65536 tso_max_segs 65535 gro_max_size 65536 gso_ipv4_max_size 65536 gro_ipv4_max_size 65536 
$ ip -details -json link show dev ovsbr0 | jq -r '.[].linkinfo.info_kind'
openvswitch

したがって、当然、このタイプのみを表示するコマンドは次のようになります。

ip link show type openvswitch

このリソースは別々に開発されました。IP ルート 2ヘルプに含まれていなくても、人々は驚かないでください。たとえば、wireguardヘルプには同じ内容は表示されませんが(カーネルベースの)WireGuardインターフェイスではip link show type wireguard

関連情報