验证端口镜像功能
- 配置VF。
具体操作请参考配置内核态SR-IOV。
- 启动OVS,配置组网。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
systemctl start openvswitch ovs-vsctl add-br br-ovs ovs-vsctl add-port br-ovs enp1s0f0_0 ovs-vsctl add-port br-ovs enp1s0f0_1 ovs-vsctl add-port br-ovs enp1s0f0_2 ovs-vsctl add-port br-ovs enp1s0f0_3 ovs-vsctl add-port br-ovs enp1s0f0_4 ovs-vsctl add-port br-ovs enp1s0f0_5 ovs-vsctl add-port br-ovs enp1s0f0_6 ovs-vsctl add-port br-ovs enp1s0f0_7 ovs-vsctl add-port br-ovs enp1s0f0 ip link set dev enp1s0f0 up ip link set dev enp1s0f0_0 up ip link set dev enp1s0f0_1 up ip link set dev enp1s0f0_2 up ip link set dev enp1s0f0_3 up ip link set dev enp1s0f0_4 up ip link set dev enp1s0f0_5 up ip link set dev enp1s0f0_6 up ip link set dev enp1s0f0_7 up
- 启动虚拟机。
- Host1执行:
virsh start vm1
- Host2执行:
virsh start vm1 virsh start vm4
- Host1执行:
- 配置OVS SPAN(Switched Port Analyzer)端口镜像。
1
ovs-vsctl -- --id=@p get port enp1s0f0_3 -- --id=@q get port enp1s0f0_0 -- --id=@m create mirror name=m0 select_src_port=@q select_dst_port=@q output-port=@p -- set bridge br-ovs mirrors=@m
本条命令是在br-ovs上设置端口镜像,将enp1s0f0_0端口的出入流量镜像到enp1s0f0_3端口上。
- -- --id=@p get port enp1s0f0_3:给端口enp1s0f0_3取别名。
- -- --id=@m create mirror name=m0:创建端口镜像。
- select_src_port=@q select_dst_port=@q output-port=@p:设置端口镜像的规则,其中select_src_port指定进入该端口的流量将被镜像,select_dst_port指定从该端口出去的流量将被镜像,output-port指定被镜像的流量输出到指定端口。
- -- set bridge br-ovs mirrors=@m:指定网桥的端口镜像规则。
- 进入虚拟机。Host2执行:
virsh console vm4
- 在镜像端口捕获数据包,使用Host1给Host2的vm1(对应enp1s0f0_0)发包,在Host2 vm4(对应enp1s0f0_3)捕获数据包。
在Host2 vm4执行:
1
tcpdump -i enp1s0
- 虚拟机发包,查看捕获数据包情况。
- Host2 vm1执行:
1
iperf3 -s
- Host1 vm1执行:
1
iperf3 -c <Host2vm1_ip> -t 0
捕获数据包情况:
- Host2 vm1执行:
- 按“Ctrl+]”切出虚拟机,查看卸载流表。
1
watch -n 1 -d ovs-appctl dpctl/dump-flows type=offloaded
卸载情况:
- 清理端口镜像。
1
ovs-vsctl clear bridge br-ovs mirrors
- 配置OVS RSPAN(Remote Switched Port Analyzer)端口镜像。
1 2
ovs-vsctl set bridge br-ovs flood_vlans=111 ovs-vsctl -- --id=@q get port enp1s0f0_0 -- --id=@m create mirror name=m0 select_src_port=@q select_dst_port=@q output_vlan=111 -- set bridge br-ovs mirrors=@m
- 重复5~8,查看捕获数据包情况及卸载情况。
捕获数据包改成在Host2 vm4执行:
1
tcpdump -i enp1s0 -ne
捕获数据包情况:
卸载情况:
验证结果
SPAN模式的端口镜像支持捕获数据包和流表卸载,其他模式的端口镜像只支持捕获数据包。
父主题: 验证OVS流表网卡加速特性