mininet學習之OVS指令(1)
阿新 • • 發佈:2020-12-09
技術標籤:研究生學習日記
mininet中預設使用ovs作為虛擬交換機,因此在mininet中同樣可以使用ovs指令對交換機進行控制。
在mininet的CLI中,使用sh便可以輸入ovs指令
ovs常用指令
埠
1、檢視網橋和埠
ovs-vsctl show
2、新增/刪除網橋
ovs-vsctl add-br br0
ovs-vsctl del-br br0
3、新增/刪除埠
ovs-vsctl add-port br0 eth1
ovs-vsctl del-port br0 eth1
4、設定/清除網橋的openflow協議版本
ovs-vsctl set bridge br0 protocols=OpenFlow13
ovs- vsctl clear bridge br0 protocols
5、檢視某網橋當前流表
ovs-ofctl dump-flows br0
ovs-ofctl -O OpenFlow13 dump-flows br0
ovs-appctl bridge/dump-flows br0
6、設定/刪除控制器
ovs-vsctl set-controller br0 tcp:1.2.3.4:6633
ovs-vsctl del-controller br0
7、檢視控制器列表
ovs-vsctl list controller
8、設定fail模式,支援standalone或者secure
standalone(default):清除所有控制器下發的流表,ovs自己接管
ovs-vsctl del-fail-mode br0
ovs-vsctl set-fail-mode br0 secure
ovs-vsctl get-fail-mode br0
9、檢視介面id等
ovs-appctl dpif/show
10、檢視介面統計
ovs-ofctl dump-ports br0
##
流表
1、新增流表
ovs-ofctl add-flow br0 in_port=1,actions=output:2
2、刪除所有流表
ovs-ofctl del-flows br0
3、按匹配項來刪除流表
ovs-ofctl del-flows br0 "in_port=1"
匹配項
1、匹配vlan tag,範圍為0-4095
ovs-ofctl add-flow br0 priority=401,in_port=1,dl_vlan=777,actions=output:2
2、匹配vlan pcp,範圍為0-7
ovs-ofctl add-flow br0 priority=401,in_port=1,dl_vlan_pcp=7,actions=output:2
3、匹配源/目的MAC
ovs-ofctl add-flow br0 in_port=1,dl_src=00:00:00:00:00:01/00:00:00:00:00:01,actions=output:2
ovs-ofctl add-flow br0 in_port=1,dl_dst=00:00:00:00:00:01/00:00:00:00:00:01,actions=output:2
4、匹配乙太網型別,範圍為0-65535
ovs-ofctl add-flow br0 in_port=1,dl_type=0x0806,actions=output:2
5、匹配源/目的IP
條件:指定dl_type=0x0800,或者ip/tcp
ovs-ofctl add-flow br0 ip,in_port=1,nw_src=10.10.0.0/16,actions=output:2
ovs-ofctl add-flow br0 ip,in_port=1,nw_dst=10.20.0.0/16,actions=output:2
6、匹配協議號,範圍為0-255
條件:指定dl_type=0x0800或者ip
# ICMP
ovs-ofctl add-flow br0 ip,in_port=1,nw_proto=1,actions=output:2
7、匹配IP ToS/DSCP,tos範圍為0-255,DSCP範圍為0-63
ovs-ofctl add-flow br0 ip,in_port=1,nw_tos=68,actions=output:2
ovs-ofctl add-flow br0 ip,in_port=1,ip_dscp=62,actions=output:2
8、匹配IP ecn位,範圍為0-3
ovs-ofctl add-flow br0 ip,in_port=1,ip_ecn=2,actions=output:2
9、匹配IP TTL,範圍為0-255
ovs-ofctl add-flow br0 ip,in_port=1,nw_ttl=128,actions=output:2
10、匹配tcp/udp,源/目的埠,範圍為0-65535
# 匹配源tcp埠179
ovs-ofctl add-flow br0 tcp,tcp_src=179/0xfff0,actions=output:2
# 匹配目的tcp埠179
ovs-ofctl add-flow br0 tcp,tcp_dst=179/0xfff0,actions=output:2
# 匹配源udp埠1234
ovs-ofctl add-flow br0 udp,udp_src=1234/0xfff0,actions=output:2
# 匹配目的udp埠1234
ovs-ofctl add-flow br0 udp,udp_dst=1234/0xfff0,actions=output:2
11、匹配tcp flags
ovs-ofctl add-flow br0 tcp,tcp_flags=ack,actions=output:2
12、匹配icmp code,範圍為0-255
ovs-ofctl add-flow br0 icmp,icmp_code=2,actions=output:2
13、匹配vlan TCI
ovs-ofctl add-flow br0 in_port=1,vlan_tci=0xf123,actions=output:2
指令動作
下次更新