1. 程式人生 > 其它 >mininet學習之OVS指令(1)

mininet學習之OVS指令(1)

技術標籤:研究生學習日記

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自己接管

secure:按照原來流表繼續轉發

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

指令動作

下次更新