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

그러나 명령을 사용하여 브리지를 생성하지 않은 경우에도 다음 명령을 사용하여 삭제할 수 있습니다 openvswitch.ipip

# 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.

관련 정보