无法在 OVS 中创建端口

Not able create ports in OVS

我有一个带有两个 VM 的 Ubuntu 主机,我正在尝试在两个 VM 之间创建一个桥接。我有一个网桥 br0,我正在尝试为两个虚拟机创建一个端口 tap0 和 tap1。到目前为止,我能够创建网桥,但是当我尝试创建端口时,出现以下错误。

root@dpdk:~# ovs-vsctl add-br br0 -- set bridge br0 datapath_type=netdev
root@dpdk:~# ovs-vsctl add-port br0 tap1
ovs-vsctl: Error detected while setting up 'tap1'.  See ovs-vswitchd log for details.
root@dpdk:~# sudo ovs-vsctl show
4c3a769e-f900-4c8d-81a7-ba685d4e364a
Bridge "br0"
    Port "tap1"
        Interface "tap1"
            error: "could not open network device tap1 (No such device)"
    Port "br0"
        Interface "br0"
            type: internal
ovs_version: "2.5.2"

我正在对 运行 DPDK pktgen 应用程序执行此操作。

您需要先创建一个点击设备

您可以自己创建:

$ tunctl -t tap0
$ ip link set tap0 up
$ ovs-vsctl add-port br0 tap0

或让 QEMU/KVM 为您创建:

$ cat << 'EOF' > /etc/ovs-ifup
#!/bin/sh
switch='br0'
ip link set  up
ovs-vsctl add-port ${switch} 
EOF
$ cat << 'EOF' > /etc/ovs-ifdown
#!/bin/sh
switch='br0'
ip addr flush dev 
ip link set  down
ovs-vsctl del-port ${switch} 
EOF
$ kvm -m 512 -net nic,macaddr=00:11:22:EE:EE:EE -net \
tap,script=/etc/ovs-ifup,downscript=/etc/ovs-ifdown -drive \
file=/path/to/disk-image,boot=on

(前两个命令创建两个实用程序脚本作为 kvm 的回调。参见 Open vSwitch's documentation。)