01-OpenFlow命令
本章節下載: 01-OpenFlow命令 (430.86 KB)
目 錄
1.1.5 controller connect interval
1.1.6 controller echo-request interval
1.1.9 default table-miss permit
1.1.12 display openflow auxiliary
1.1.13 display openflow flow-table
1.1.15 display openflow instance
1.1.17 display openflow summary
1.1.23 forbidden packet-in arp controller
1.1.25 in-band management vlan
1.1.27 mac-ip dynamic-mac aware
1.1.31 permit-port-type member-port
1.1.33 protocol-packet filter slow
1.1.35 reset openflow instance statistics
1.1.37 snmp-agent trap enable openflow
active instance命令用來激活OpenFlow實例。
undo active instance命令用來取消激活OpenFlow實例。
【命令】
active instance
undo active instance
【缺省情況】
未激活OpenFlow實例。
【視圖】
OpenFlow實例視圖
【缺省用戶角色】
network-admin
【使用指導】
新配置或修改OpenFlow實例後,需要激活實例使配置生效。重新激活實例時,交換機會斷開與所有控製器的連接,清除已下發的流表,更新能力集,重新與控製器建立連接。
【舉例】
# 激活OpenFlow實例1。
<Sysname> system-view
[Sysname] openflow instance 1
[Sysname-of-inst-1] active instance
classification命令用來配置OpenFlow實例的類型。
undo classification命令用來恢複缺省情況。
【命令】
classification { global | vlan vlan-id [ mask vlan-mask ] [ loosen ] }
undo classification
【缺省情況】
未配置OpenFlow實例的類型。
【視圖】
OpenFlow實例視圖
【缺省用戶角色】
network-admin
【參數】
global:全局類型OpenFlow實例。
vlan:VLAN類型OpenFlow實例,實例按VLAN劃分。
vlan-id:VLAN ID,取值範圍為1~4094。
vlan-mask:VLAN掩碼,取值範圍為0~4095,缺省值為4095。
loosen:loosen模式。配置loosen模式後,如果接口所在VLAN與實例配置VLAN存在交集,則接口就屬於OpenFlow實例。未配置loosen模式時,隻有當實例配置的VLAN是接口所在VLAN的子集,該接口才屬於OpenFlow實例。
【使用指導】
多次執行本命令,最後一次執行的命令生效。
VLAN & mask為實際生效VLAN區間。mask比特位為1表示符合,可以不連續;比特位為0表示忽略。生效VLAN區間,可通過display openflow instance查看。
【舉例】
# 配置OpenFlow VLAN實例1對應的VLAN為255,掩碼為7。
<Sysname> system-view
[Sysname] openflow instance 1
[Sysname-of-inst-1] classification vlan 255 mask 7
【相關命令】
· display openflow instance
controller address命令用來配置主連接。
undo controller address命令用來刪除指定的主連接。
【命令】
controller controller-id address { ip ipv4-address | ipv6 ipv6-address } [ port port-number ] [ local address { ip local-ipv4-address | ipv6 local-ipv6-address } [ port local-port-number ] ] [ ssl ssl-policy-name [ access-control-policy acp-policy-name ] ] [ vrf vrf-name ]
undo controller controller-id address
【缺省情況】
不存在主連接。
【視圖】
OpenFlow實例視圖
【缺省用戶角色】
network-admin
【參數】
controller-id:控製器的ID號,取值範圍為0~63。
ip ipv4-address:控製器的IPv4地址。
ipv6 ipv6-address:控製器的IPv6地址。
port port-number:控製器建立連接使用的端口號,取值範圍為1~65535,缺省值為6633。
local address:交換機與控製器連接的源IP地址。如果交換機與控製器之間存在多條路由可達,當交換機進行主備倒換時或者重啟後,希望通過原來的路由重新建立連接,而不是新選擇的路由,此時可以通過本參數進行配置。
ip local-ipv4-address:源IPv4地址。
ipv6 local-ipv6-address:源IPv6地址。
port local-port-number:源端口號,取值範圍為1~65535,缺省值為隨機分配的值。
ssl ssl-policy-name:安全連接的SSL客戶端策略。需要通過ssl client-policy命令創建該策略並通過本參數引用。每個控製器連接可配置獨立的安全策略。ssl-policy-name為1~31個字符的字符串,不區分大小寫。如果未指定本參數,則交換機與控製器不建立SSL連接。
access-control-policy acp-policy-name:安全連接的證書訪問控製策略,用於進一步檢測控製器(SSL服務器)的證書。需要通過pki certificate access-control-policy命令創建該策略並通過本參數引用。acp-policy-name為1~31個字符的字符串,不區分大小寫。關於證書訪問控製策略的介紹,請參見“安全配置指導”中的“PKI”。
vrf vrf-name:指定控製器所在的VRF,vrf-name表示MPLS L3VPN的VPN實例名稱,為1~31個字符的字符串,區分大小寫。如果未指定本參數,則表示控製器位於公網中。
【使用指導】
多次執行該命令可以添加多個控製器,與每個控製器僅允許建立一個主連接。
主連接一般用於控製消息的處理(下發流表項、獲取數據、信息上報等),使用TCP/SSL保持可靠的連接。
【舉例】
# 配置實例1的控製器1的IP地址為1.1.1.1,端口號為6666。
<Sysname> system-view
[Sysname] openflow instance 1
[Sysname-of-inst-1] controller 1 address ip 1.1.1.1 port 6666
# 配置實例1的控製器1的IP地址為1.1.1.1,控製器對本實例使用名為p1的SSL策略以及名為myacp的證書訪問控製策略進行認證。
<Sysname> system-view
[Sysname] pki certificate attribute-group mygroup
[Sysname-pki-cert-attribute-group-mygroup] attribute 1 subject-name dn ctn abc
[Sysname-pki-cert-attribute-group-mygroup] quit
[Sysname] pki certificate access-control-policy myacp
[Sysname-pki-cert-acp-myacp] rule 1 deny mygroup
[Sysname-pki-cert-acp-myacp] quit
[Sysname] openflow instance 1
[Sysname-of-inst-1] controller 1 address ip 1.1.1.1 ssl p1 access-control-policy myacp
以上配置中,PKI相關命令的含義為:
· 配置證書屬性組mygroup,創建屬性規則1:證書主題名的DN包含字符串abc。
· 創建訪問控製策略myacp,定義訪問控製規則1:當證書的屬性與屬性組mygroup1裏定義的屬性匹配時,認為該證書無效。
【相關命令】
· pki certificate access-control-policy(安全命令參考/PKI)
· ssl client-policy(安全命令參考/SSL)
controller auxiliary命令用來配置輔助連接。
undo controller auxiliary命令用來刪除指定的輔助連接。
【命令】
controller controller-id auxiliary auxiliary-id transport { tcp | udp | ssl ssl-policy-name } [ address { ip ipv4-address | ipv6 ipv6-address } ] [ port port-number ]
undo controller id auxiliary auxiliary-id
【缺省情況】
不存在輔助連接。
【視圖】
OpenFlow實例視圖
【缺省用戶角色】
network-admin
【參數】
controller-id:控製器的ID號,取值範圍為0~63。
auxiliary auxiliary-id:輔助連接編號,取值範圍為1~255。
transport:傳輸類型。
tcp:TCP連接。
udp:UDP連接。
ssl ssl-policy-name:SSL策略的名稱,為1~31字符的字符串,不區分大小寫。
ip ipv4-address:控製器的IPv4地址。
ipv6 ipv6-address:控製器的IPv6地址。
port port-number:控製器的端口號,取值範圍為1~65535,缺省值為6633。
【使用指導】
輔助連接用於提高控製器和OpenFlow交換機的通信能力。
輔助連接配置和主連接配置不做配置衝突檢查,如果輔助連接與主連接配置衝突,則無法建立輔助連接。
輔助連接的目的地址和端口號可以和主連接不一致。目的地址和端口號未配置時,和主連接一致。
【舉例】
# 為實例1下編號為10控製器配置編號為1的輔助連接。
<Sysname> system-view
[Sysname] openflow instance 1
[Sysname-of-inst-1] controller 10 auxiliary 1 transport tcp
controller connect interval命令用來配置重連定時器的值。
undo controller connect interval命令用來恢複缺省情況。
【命令】
controller connect interval interval
undo controller connect interval
【缺省情況】
重連定時器的值為60秒。
【視圖】
OpenFlow實例視圖
【缺省用戶角色】
network-admin
【參數】
interval:重連定時器的值,取值範圍為1~120,單位為秒。
【舉例】
# 配置實例1重連定時器的值為10秒。
<Sysname> system-view
[Sysname] openflow instance 1
[Sysname-of-inst-1] controller connect interval 10
controller echo-request interval命令用來配置連接檢測定時器的值。
undo controller echo-request interval命令用來恢複缺省情況。
【命令】
controller echo-request interval interval
undo controller echo-request interval
【缺省情況】
連接檢測定時器的值為5秒。
【視圖】
OpenFlow實例視圖
【缺省用戶角色】
network-admin
【參數】
interval:連接檢測定時器的值,取值範圍為1~10,單位為秒。
【舉例】
# 配置實例1連接檢測定時器的值為10秒。
<Sysname> system-view
[Sysname] openflow instance 1
[Sysname-of-inst-1] controller echo-request interval 10
controller mode命令用來配置控製器連接模式。
undo controller mode命令用來恢複缺省情況。
【命令】
controller mode { multiple | single }
undo controller mode
【缺省情況】
控製器連接模式為Multiple。
【視圖】
OpenFlow實例視圖
【缺省用戶角色】
network-admin
【參數】
multiple:同一時刻可以與多個控製器建立連接。配置該模式後,交換機會同時連接實例內所有的控製器,在與某個控製器連接失敗或者斷開連接時,在重連定時器超時後重新進行連接,直到連接成功。
single:同一時刻僅與一個控製器建立連接,其他控製器作為備份。配置該模式後,當且僅當當前的連接斷開後,交換機會連接下一個控製器,直到連接成功。
【舉例】
# 配置實例1的控製器連接模式為Single。
<Sysname> system-view
[Sysname] openflow instance 1
[Sysname-of-inst-1] controller mode single
datapath-id命令用來配置OpenFlow實例的Datapath ID。
undo datapath-id命令用來恢複缺省情況。
【命令】
datapath-id id
undo datapath-id
【缺省情況】
OpenFlow實例的Datapath ID是由實例ID和設備橋MAC組成,前16個比特為實例ID,後48個比特為設備橋MAC。
【視圖】
OpenFlow實例視圖
【缺省用戶角色】
network-admin
【參數】
id:OpenFlow實例的Datapath ID,取值範圍為十六進製數1~ffffffffffffffff。
【使用指導】
Datapath ID用來在唯一標識OpenFlow實例,不同OpenFlow實例的Datapath ID不能相同。
【舉例】
# 配置實例1的Datapath ID為123456。
<Sysname> system-view
[Sysname] openflow instance 1
[Sysname-of-inst-1] datapath-id 123456
default table-miss permit命令用來配置Table Miss流表項的缺省動作為正常轉發。
undo default table-miss permit命令用來恢複缺省情況。
【命令】
default table-miss permit
undo default table-miss permit
【缺省情況】
Table Miss流表項的缺省動作為丟棄。
【視圖】
OpenFlow實例視圖
【缺省用戶角色】
network-admin
【舉例】
# 配置Table Miss流表項的缺省動作為正常轉發。
<Sysname> system-view
[Sysname] openflow instance 1
[Sysname-of-inst-1] default table-miss permit
description命令用來配置OpenFlow實例的描述信息。
undo description命令用來恢複缺省情況。
【命令】
description text
undo description
【缺省情況】
未配置OpenFlow實例的描述信息。
【視圖】
OpenFlow實例視圖
【缺省用戶角色】
network-admin
【參數】
text:OpenFlow實例的描述信息,為1~255個字符的字符串,區分大小寫。
【舉例】
# 配置實例1的描述信息為test-desc。
<Sysname> system-view
[Sysname] openflow instance 1
[Sysname-of-inst-1] description test-desc
display openflow命令用來顯示OpenFlow實例的控製器信息。
【命令】
display openflow instance instance-id { controller [ controller-id ] | listened }
【視圖】
任意視圖
【缺省用戶角色】
network-admin
network-operator
【參數】
instance-id:OpenFlow實例號,取值範圍為1~4094。
controller-id:控製器的ID號,取值範圍為0~63。如果未指定本參數,將顯示實例下所有控製器的信息。
listened:OpenFlow實例作為SSL服務器連接的控製器(SSL客戶端)。
【舉例】
# 顯示OpenFlow實例100的控製器信息。
<Sysname> display openflow instance 100 controller
Instance 1 controller information:
Reconnect interval : 60 (s)
Echo interval : 5 (s)
Controller ID : 1
Controller IP address : 192.168.49.49
Controller port : 6633
Local IP address : 192.0.0.1
Local port : 5566
Controller role : Equal
Connect type : TCP
Connect state : Established
Packets sent : 9
Packets received : 9
SSL policy : --
VRF name : --
表1-1 display openflow controller命令顯示信息描述表
字段 |
描述 |
Instance x controller information |
OpenFlow實例號 |
Reconnect interval |
實例內所有控製器的斷開重連時間間隔,單位為秒 |
Echo interval |
實例內所有控製器發送保活報文的時間間隔,單位為秒 |
Controller ID |
控製器的ID號 |
Controller IP address |
OpenFlow實例對應的控製器的IP地址 |
Controller port |
當前連接控製器的TCP端口號 |
Local IP address |
OpenFlow實例對應的控製器的源IP地址 |
Local port |
當前連接控製器的源TCP端口號 |
Controller role |
控製器的角色: · --:未連接,未配置角色 · Equal:控製器的角色是Equal · Master:控製器的角色是Master · Slave:控製器的角色是Slave |
Connect type |
連接類型, · TCP:使用TCP連接控製器 · SSL:使用SSL連接控製器 |
Connect state |
連接狀態: · Idle:未建立連接 · Established:成功建立連接 |
Packets sent |
已經向控製器發送的報文的計數 |
Packets received |
已經接收控製器的報文的計數 |
SSL policy |
用於SSL連接的SSL策略的名稱,--表示未配置 |
VRF name |
控製器所在的VRF名稱,--表示未配置 |
display openflow auxiliary命令用來顯示OpenFlow實例的輔助連接信息。
【命令】
display openflow instance instance-id auxiliary [ controller-id [ auxiliary auxiliary-id ] ]
【視圖】
任意視圖
【缺省用戶角色】
network-admin
network-operator
【參數】
instance instance-id:OpenFlow實例號,取值範圍為1~4094。
controller-id:控製器編號,取值範圍為0~63。
auxiliary auxiliary-id:輔助連接編號,取值範圍為1~255。
【舉例】
# 顯示OpenFlow實例100的控製器輔助連接信息。
<Sysname> display openflow instance 100 auxiliary
Controller ID: 1 Auxiliary connection number: 2
Auxiliary connection ID : 1
Controller IP address : 192.168.49.48
Controller port : 6633
Connect type : TCP
Connect state : Established
Packets sent : 9
Packets received : 9
SSL policy : --
Auxiliary connection ID : 2
Controller IP address : 192.168.49.49
Controller port : 6633
Connect type : TCP
Connect state : Established
Packets sent : 9
Packets received : 9
SSL policy : --
表1-2 display openflow auxiliary命令顯示信息描述表
字段 |
描述 |
Controller ID |
控製器ID |
Auxiliary connection number |
輔助連接總數量 |
Auxiliary connection ID |
輔助連接的ID |
Controller IP address |
已經配置在實例下的Controller的IP地址 |
Controller port |
當前連接Controller的TCP端口號 |
Connect type |
連接類型, · TCP:使用TCP連接Controller · SSL:使用SSL連接Controller · UDP:使用UDP連接Controller |
Connect state |
連接狀態: · Idle:未建立連接 · Established:成功建立連接 |
Packets sent |
已經向控製器發送的報文的計數 |
Packets received |
已經接收控製器的報文的計數 |
SSL policy |
用於SSL連接的SSL客戶端策略的名稱,--表示未配置 |
display openflow flow-table命令用來顯示OpenFlow實例的流表信息。
【命令】
display openflow instance instance-id flow-table [ table-id ]
【視圖】
任意視圖
【缺省用戶角色】
network-admin
network-operator
【參數】
instance-id:OpenFlow實例號,取值範圍為1~4094。
table-id:流表ID,取值範圍為0~254。如果未指定本參數,將顯示所有流表的信息。
【舉例】
# 顯示OpenFlow實例100的所有流表信息。
<Sysname> display openflow instance 100 flow-table
Instance 100 flow table information:
Table 0 information:
Table type: MAC-IP, flow entry count: 1, total flow entry count: 2
MissRule (default) flow entry information:
cookie: 0x0, priority: 0, hard time: 0, idle time: 0, flags: reset_counts
|no_pkt_counts|no_byte_counts, byte count: --, packet count: --
Create time: 09:39:42 10/24/2017, Last modified time: 09:39:42 10/24/2017
Flow-monitor:Disabled
Match information: any
Instruction information:
Write actions:
Drop
Flow entry 1 information:
cookie: 0x0, priority: 1, hard time: 0, idle time: 0, flags: none,
byte count: --, packet count: --
Create time: 09:39:42 10/24/2017, Last modified time: 09:39:42 10/24/2017
Flow-monitor:Disabled
Match information:
Ethernet destination MAC address: 0000-0000-0001
Ethernet destination MAC address mask: ffff-ffff-ffff
VLAN ID: 100, mask: 0xfff
Instruction information:
Write actions:
Output interface: XGE1/0/4
Write metadata/mask: 0x0000000000000001/0xffffffffffffffff
Goto table: 1
...
表1-3 display openflow flow-table命令顯示信息描述表
字段 |
描述 |
Table information |
流表信息 |
Table type |
流表類型 |
flow entry count |
控製器下發的流表項個數 |
total flow entry count |
流表中流表項總個數 |
Flow entry information |
流表項信息,Not effective表示該流表項未生效 MissRule (default)指Table Miss流表項 |
cookie |
流表項cookie |
priority |
流表項的優先級,數值越大,優先級越高 |
hard time |
流表項的hard time超時時間,單位為秒,0代表永不超時。當定時器超時後就清除該流表項,無論該流表項是否匹配到數據流 |
idle time |
流表項的idle time超時時間,單位為秒,0代表永不超時。如果idle time超時時間內沒有數據流匹配到該流表項,該流表項被清除 |
flags |
流表項的標誌位: · flow_send_rem:發送流表項刪除消息 · check_overlap:檢查流表項重複 · reset_counts:重置流表項統計信息 · no_pkt_counts:不統計報文計數 · no_byte_counts:不統計字節計數 · none:無標誌位 |
byte count |
匹配當前流表項的字節計數 |
packet count |
匹配當前流表項的報文計數 |
Create time |
流表項創建時間 |
Last modified time |
流表項最後修改時間 |
Flow-monitor |
匹配流表項的流量的監測功能: · Disabled:關閉 · Enabled:開啟 |
Match information |
匹配規則信息(表1-4) |
Instruction information |
動作指令集信息: · Set meter:應用指定的Meter表 · Goto table:進入下一級流表 · Clear actions:清除動作集中的所有動作 · Apply actions:立即執行動作序列中的動作 · Write actions:更改動作集中的所有動作 更多信息,請參見表1-5 |
匹配字段名稱 |
匹配掩碼字段名稱 |
描述 |
Input interface |
無 |
入端口(表1-6) |
Physical input interface |
無 |
入物理端口 |
Ethernet destination MAC address |
Ethernet destination MAC address mask |
以太網目的MAC地址/掩碼 |
Ethernet source MAC address |
Ethernet source MAC address mask |
以太網源MAC地址/掩碼 |
Ethernet type |
無 |
以太網類型 |
VLAN ID |
mask |
VLAN ID/掩碼 |
VLAN PCP |
無 |
VLAN優先級 |
IP DSCP |
無 |
DSCP(Differentiated Services Code Point,區分服務編碼點)值 |
IP ECN |
無 |
IP頭的ECN(Explicit Congestion Notification,顯式擁塞通知)值 |
IP protocol |
無 |
IPv4或IPv6協議號 |
IPv4 source address |
mask |
IPv4源地址/掩碼 |
IPv4 destination address |
mask |
IPv4目的地址/掩碼 |
TCP source port |
mask |
TCP源端口/掩碼 |
TCP destination port |
mask |
TCP目的端口/掩碼 |
UDP source port |
mask |
UDP源端口/掩碼 |
UDP destination port |
mask |
UDP目的端口/掩碼 |
ICMPv4 type |
無 |
ICMPv4類型 |
ICMPv4 code |
無 |
ICMPv4代號 |
ARP source IPv4 address |
mask |
ARP源IP地址/掩碼 |
ARP source MAC address |
ARP source MAC address mask |
ARP源MAC地址/掩碼 |
IPv6 source address |
IPv6 source address mask |
IPv6源地址/掩碼 |
IPv6 destination address |
IPv6 destination address mask |
IPv6目的地址/掩碼 |
IPv6 flow label |
mask |
IPv6流標簽/掩碼 |
ICMPv6 type |
無 |
ICMPv6類型 |
ICMPv6 code |
無 |
ICMPv6代號 |
動作名稱 |
描述 |
Drop |
丟棄報文(非協議Action) |
Output interface |
從指定端口發送報文(表1-6) |
send length |
當output類型為Controller時,指定上送報文的字節長度 |
Group |
根據指定Group表處理報文 |
Set queue |
將流表項映射到指定隊列ID |
Set field |
修改報文指定的域 |
端口名稱 |
入端口 |
出端口 |
說明 |
Normal |
不支持 |
支持 |
報文正常轉發 |
Controller |
支持 |
支持 |
報文上送控製器 |
Local |
支持 |
支持 |
報文上送本地CPU |
(端口名稱) |
支持 |
支持 |
實例有效端口,包含物理接口和邏輯接口 |
display openflow group命令用來顯示OpenFlow實例的Group表信息。
【命令】
display openflow instance instance-id group [ group-id ]
【視圖】
任意視圖
【缺省用戶角色】
network-admin
network-operator
【參數】
instance-id:OpenFlow實例號,取值範圍為1~4094。
group-id:Group ID,取值範圍為0~4294967040。如果未指定本參數,將顯示實例所有Group表項的信息。
【舉例】
# 顯示OpenFlow實例100的Group表項信息。
<Sysname> display openflow instance 100 group
Instance 100 group table information:
Group count: 2
Group entry 103:
Type: All, byte count: 55116, packet count: 401
Bucket 1 information:
Action count 1, watch port: any, watch group: any
Byte count 55116, packet count 401
Output interface: BAGG100
Bucket 2 information:
Action count 1, watch port: any, watch group: any
Byte count 0, packet count 0
Output interface: Controller, send length: 128 bytes
Referenced information:
Count: 3
Flow table 0
Flow entry: 1, 2, 3
Group entry 104:
Some buckets are invalid.
Type: All, byte count: 0, packet count: 0
Bucket 1 information:
Action count 2, watch port: any, watch group: any
Byte count 0, packet count 0
Set field:
Ethernet destination MAC address: 0000-0000-0013
Ethernet source MAC address: 0000-0000-0012
IPv4 destination address: 100.0.0.21
UDP destination port: 1001
Output interface: Controller, send length: 128 bytes
Referenced information:
Count: 0
表1-7 display openflow group命令顯示信息描述表
字段 |
描述 |
Group count |
當前實例包含的Group表項的總個數 |
Some buckets are invalid. |
由於硬件資源不足或設備異常,Group表項中的某些bucket無效 |
Type |
當前Group表項的類型: · All:執行所有動作桶,用於組播或者廣播 · Indirect:始終執行固定的動作桶 · Fast failover:始終執行第一個活躍的動作桶 |
Bucket |
Group表項包含的bucket |
Action count |
當前bucket包含的action的個數 |
Byte count |
group/bucket的字節統計計數,如果顯示為“--”則表示不支持該統計項 |
packet count |
group/bucket的報文統計計數,如果顯示為“--”則表示不支持該統計項 |
watch port |
影響bucket的live狀態的端口 |
watch group |
影響bucket的live狀態的group ID |
Set field |
修改報文的字段,例如目的/源MAC地址、IPv4目的地址、UDP目的端口 |
Output interface |
轉發報文到特定的OpenFlow接口 |
Referenced information |
Group表項被流表項引用的信息 |
Count |
引用Group表項的流表項的總個數 |
Flow table |
引用Group表項的流表項所在的流表ID |
Flow entry |
引用Group表項的流表項ID列表 |
display openflow instance命令用來顯示OpenFlow實例的詳細信息。
【命令】
display openflow instance [ instance-id ]
【視圖】
任意視圖
【缺省用戶角色】
network-admin
network-operator
【參數】
instance-id:OpenFlow實例號,取值範圍為1~4094。如果未指定本參數,將顯示所有實例的詳細信息。
【舉例】
# 顯示所有OpenFlow實例的詳細信息。
<Sysname> display openflow instance
Instance 100 information:
Configuration information:
Description : test-desc
Active status : Active
Inactive configuration:
None
Active configuration:
Classification: VLAN, loosen mode, total VLANs(1)
2
In-band management VLAN, total VLANs(0)
Empty VLAN
Connect mode: Multiple
MAC address learning: Disabled
TCP DSCP value: 10
Flow table:
Table ID(type): 0(MAC-IP), count: 0
Flow-entry max-limit: 65535
Datapath ID: 0x0000001234567891
Default table-miss: Drop
Forbidden port: None
Qinq Network: Disabled
TCP connection backup: Enabled
Data-plane:Disabled
Smart-group: Disabled
TTP: Disabled
Flow-monitor interval: --
Flow-monitor threshold: 2
Port information:
Ten-GigabitEthernet1/0/3
Active channel information:
Controller 1 IP address: 192.168.49.49 port: 6633
Controller 2 IP address: 192.168.43.49 port: 6633
...
表1-8 display openflow instance命令顯示信息描述表
字段 |
描述 |
Configuration information |
配置信息 |
Description |
實例的描述信息 |
Active status |
實例狀態: · Active:激活 · Inactive:未激活 |
Inactive configuration |
未生效的實例配置 |
Active configuration |
已生效的實例配置 |
Classification: VLAN, total VLANs |
實例VLAN信息及VLAN總個數 |
loose mode |
處於loosen模式 |
In-band management VLAN, total VLANs |
帶內管理VLAN列表及VLAN個數 |
Connect mode |
控製器連接模式: · Single:串行 · Multiple:並行 |
MAC address learning |
MAC地址學習: · Enabled:允許 · Disabled:禁止 |
TCP DSCP value |
OpenFlow報文的DSCP值 |
Flow table |
實例的流表信息 |
Table ID(type) |
流表ID(流表類型) |
count |
對應流表的流表項總個數 |
Flow-entry max-limit |
當前實例Extensibility表的流表項最大個數 |
Datapath ID |
實例的Datapath ID |
Default table-miss |
缺省table miss動作: · Permit:允許 · Drop:丟棄 |
Forbidden port |
禁止上送Controller的端口類型: · L3 Physical Interface:三層以太網接口和三層聚合接口 · VLAN interface:VLAN接口 · Virtual Switch Interface:VXLAN中的VSI(Virtual Switch Instance,虛擬交換實例)虛接口 |
Qinq Network |
是否配置QINQ模式: · Disabled:未配置 · Enabled:配置 |
TCP connection backup |
OpenFlow連接備份功能: · Disabled:關閉 · Enabled:開啟 |
Data-plane |
OpenFlow數據轉發平麵功能: · Disabled:關閉 · Enabled:開啟 |
Smart-group |
(暫不支持)OpenFlow Smart Group表項下發功能: · Disabled:關閉 · Enabled:開啟 |
TTP |
OpenFlow實例的TTP模式: · Disabled:關閉 · Enabled:開啟 |
Flow-monitor interval |
匹配流表項的流量監測間隔,單位為秒 --表示沒有配置流量監測間隔 |
Flow-monitor threshold |
流量中斷的連續監測次數閾值 |
Port information |
已加入實例的端口的名稱列表 |
Active channel information |
生效的控製通道信息 |
IP address |
已經配置在實例下的控製器的IP地址 |
Port |
當前連接Controller的TCP端口號 |
Failopen mode |
連接中斷時的運行模式: · Standalone:Standalone模式 · Smart:Smart模式 · Secure:Secure模式 |
display openflow meter命令用來顯示OpenFlow實例的Meter表信息。
【命令】
display openflow instance instance-id meter [ meter-id ]
【視圖】
任意視圖
【缺省用戶角色】
network-admin
network-operator
【參數】
instance-id:OpenFlow實例號,取值範圍為1~4094。
meter-id:Meter ID,取值範圍為1~4294901760。如果未指定本參數,將顯示實例所有Meter表項的信息。
【舉例】
# 顯示OpenFlow實例100的Meter表信息。
<Sysname> display openflow instance 100 meter
Meter flags: KBPS -- Rate value in kb/s, PKTPS -- Rate value in packet/sec
BURST -- Do burst size, STATS -- Collect statistics
Instance 100 meter table information:
meter entry count: 2
Meter entry 100 information:
Meter flags: KBPS
Band 1 information
Type: drop, rate: 1024, burst size: 65536
Byte count: 0, packet count: 0
Referenced information:
Count: 3
Flow table: 0
Flow entry: 1, 2, 3
Meter entry 200 information:
Meter flags: KBPS
Band 1 information
Type: drop, rate: 10240, burst size: 655360
Byte count: 0, packet count: 0
Referenced information:
Count: 0
表1-9 display openflow meter命令顯示信息描述表
字段 |
描述 |
Meter entry count |
當前實例包含的Meter表項的總個數 |
Meter flags |
當前Meter表項的所攜帶的flags: · KBPS:速率值以kbps為單位 · PKTPS:速率值以packet/sec(包/秒)為單位 · BURST:幀大小 · STATS:收集統計信息 |
Band |
Meter表項包含的band |
Type |
band類型: · drop:丟棄數據包 · dscp_remark:修改數據包IP頭部的dscp |
rate |
速率 |
burst size |
幀大小 |
Byte count |
band的字節統計計數,如果顯示為“--”則表示不支持該統計項 |
packet count |
band的報文統計計數,如果顯示為“--”則表示不支持該統計項 |
Reference information |
Meter表項被流表項引用的信息 |
Count |
引用Meter表項的流表項的總個數 |
Flow table |
引用Meter表項的流表項所在的流表ID |
Flow entry |
引用Meter表項的流表項ID列表 |
display openflow summary命令用來顯示OpenFlow實例的概要信息。
【命令】
display openflow summary
【視圖】
任意視圖
【缺省用戶角色】
network-admin
network-operator
【舉例】
# 顯示OpenFlow概要信息。
<Sysname> display openflow summary
Fail-open mode: Se - Secure mode, Sa - Standalone mode, Sm - Smart mode
ID Status Datapath-ID Channel Table-num Port-num Reactivate
1 Active 0x0000000100001221 Connected 2 8 N
10 Inactive - - - - -
4094 Active 0x00000ffe00001221 Failed(Sa) 2 0 N
表1-10 display openflow summary命令顯示信息描述表
字段 |
描述 |
ID |
實例ID |
Status |
實例的激活狀態: · Active:實例已經激活 · Inactive:實例尚未激活 |
Datapath-ID |
實例的Datapath ID。未激活該OpenFlow實例時,顯示為“-” |
Channel |
實例與控製器建立的安全通道的狀態: · Connected:與控製器已經建立安全通道 · Failed(Se):安全通道斷開,連接中斷模式為Secure模式 · Failed(Sm):安全通道斷開,連接中斷模式為Smart模式 · Failed(Sa):安全通道斷開,連接中斷模式為Standalone模式 · 未激活該OpenFlow實例時,顯示為“-” |
Table-num |
實例中流表數目。未激活該OpenFlow實例時,顯示為“-” |
Port-num |
屬於該實例的接口數目。未激活該OpenFlow實例時,顯示為“-” |
Reactivate |
是否需要重新激活該OpenFlow實例: · N:配置未改變,不需要重新激活 · 未激活該OpenFlow實例時,顯示為“-” |
fail-open mode命令用來配置連接中斷模式。
undo fail-open mode命令用來恢複缺省情況。
【命令】
fail-open mode { secure | smart | standalone }
undo fail-open mode
【缺省情況】
連接中斷模式為Secure。
【視圖】
OpenFlow實例視圖
【缺省用戶角色】
network-admin
【參數】
secure:Secure模式,連接斷開後,交換機根據流表項轉發。不主動刪除控製器下發的表項,而是等待表項超時後進行刪除,一旦連接建立成功,未超時的表項依然存在。
smart:Smart模式,連接斷開後,交換機根據流表項轉發。匹配的流表項中執行output controller動作轉發的流量,會進行正常轉發。
standalone:Standalone模式,連接斷開後,交換機正常轉發。
【舉例】
# 配置連接中斷模式為Standalone模式。
<Sysname> system-view
[Sysname] openflow instance 1
[Sysname-of-inst-1] fail-open mode standalone
flow-entry max-limit命令用來配置Extensibility的流表項的最大值。
undo flow-entry max-limit命令用來恢複缺省情況。
【命令】
flow-entry max-limit limit-value
undo flow-entry max-limit
【缺省情況】
Extensibility表的流表項的最大個數為65535。
【視圖】
OpenFlow實例視圖
【缺省用戶角色】
network-admin
【參數】
limit-value:Extensibility的流表項的最大值。取值範圍為1~65535。
【使用指導】
控製器下發的流表表項數量超過最大值時,向控製器返回失敗。
【舉例】
# 配置Extensibility的流表項的最大值為256。
<Sysname> system-view
[Sysname] openflow instance 1
[Sysname-of-inst-1] flow-entry max-limit 256
flow-log disable命令用來關閉流表項變化成功後打印日誌的開關。
undo flow-log disable命令用來恢複缺省情況。
【命令】
flow-log disable
undo flow-log disable
【缺省情況】
流表項變化成功後打印日誌的開關處於開啟狀態。
【視圖】
OpenFlow實例視圖
【缺省用戶角色】
network-admin
【舉例】
# 關閉OpenFlow實例1流表項變化成功後打印日誌的開關。
<Sysname> system-view
[Sysname] openflow instance 1
[Sysname-of-inst-1] flow-log disable
flow-monitor命令用來配置OpenFlow流量監測功能的參數。
undo flow-monitor命令用來恢複缺省情況。
【命令】
flow-monitor { interval interval | threshold threshold }
undo flow-monitor { interval | threshold }
【缺省情況】
未配置流量監測間隔,流量中斷的連續監測次數閾值為2。
【視圖】
Openflow實例視圖
【缺省用戶角色】
network-admin
【參數】
interval interval:流量監測間隔,取值範圍為1~120,單位為秒。
threshold threshold:流量中斷的連續監測次數閾值,取值範圍為1~5。
【使用指導】
對於開啟了OpenFlow流量監測功能的流表項,設備每隔interval秒監測匹配該流表項的字節和報文計數的變化。如果這些計數連續threshold次被監測到沒有變化,則設備通過NETCONF將該流表項的流量無增長事件發送給控製器。之後,如果這些計數被監測到增長,則設備通過NETCONF將該流表項的流量增長事件發送給控製器。
通過display openflow flow-table命令可以查看流表項信息。顯示結果中,Flow entry字段下的byte count、packet count字段分別表示匹配該流表項的字節計數、報文計數。
如果不配置流量監測間隔,OpenFlow流量監測功能不會生效。
大量流表項開啟OpenFlow流量監測功能的情況下,如果配置的流量監測間隔較小,可能導致設備CPU負擔過重。
OpenFlow流量監測功能僅監測由控製器下發給Openflow實例的流表項的相關流量,屬性為default和local的流表項不參加監測。
流表項開啟OpenFlow流量監測功能後,控製器下發給該流表項的idle time屬性(數據流匹配流表項的超時時間)不生效。
【舉例】
# 在OpenFlow實例1中,配置流量監測間隔為10秒。
<Sysname> system-view
[Sysname] openflow instance 1
[Sysname-of-inst-1] flow-monitor interval 10
【相關命令】
· display openflow flow-table
flow-table命令用來配置流表類型和流表ID。
undo flow-table命令用來恢複缺省情況。
【命令】
flow-table { extensibility extensibility-table-id | mac-ip mac-ip-table-id }*
undo flow-table
【缺省情況】
流表類型為Extensibility,流表ID為0。
【視圖】
OpenFlow實例視圖
【缺省用戶角色】
network-admin
【參數】
mac-ip mac-ip-table-id:MAC-IP流表ID,取值範圍為0~254。
extensibility extensibility-table-id:Extensibility流表ID,取值範圍為0~254。
【使用指導】
多次執行本命令,最後一次執行的命令生效。
Extensibility流表ID必須大於MAC-IP流表ID。
【舉例】
# 配置實例1流表類型為MAC-IP表ID為0,Extensibility表ID為1。
<Sysname> system-view
[Sysname] openflow instance 1
[Sysname-of-inst-1] flow-table mac-ip 0 extensibility 1
forbidden packet-in arp controller命令用來配置禁止ARP報文上送的控製器。
undo forbidden packet-in arp controller命令用來恢複缺省情況。
【命令】
forbidden packet-in arp controller controller-id-list
undo forbidden packet-in arp controller [ controller-id-list ]
【缺省情況】
未配置禁止ARP報文上送的控製器。
【視圖】
OpenFlow實例視圖
【缺省用戶角色】
network-admin
【參數】
controller-id-list:控製器的ID號列表,表示方式為controller-id-list = { controller-id1 [ to controller-id2 ] }&<1-10>,其中controller-id1和controller-id2為控製器的ID號,取值範圍為0~63。controller-id2的值要大於或等於controller-id1的值,&<1-10>表示前麵的參數最多可以輸入10次。執行undo命令時,如果未指定該參數,則所有該功能配置都恢複為缺省情況。
【舉例】
# 配置禁止ARP報文上送到控製器0。
<Sysname> system-view
[Sysname] openflow instance 1
[Sysname-of-inst-1] forbidden packet-in arp controller 0
forbidden port命令用來配置禁止上送控製器的端口類型。
undo forbidden port命令用來恢複缺省情況。
【命令】
forbidden port { l3-physical-interface | vlan-interface | vsi-interface } *
undo forbidden port
【缺省情況】
未配置禁止上送控製器的端口類型,即所有接口類型都上送控製器。
【視圖】
OpenFlow實例視圖
【缺省用戶角色】
network-admin
【參數】
l3-physical-interface:三層以太網接口和三層聚合接口。
vlan-interface:VLAN接口。
vsi-interface:VXLAN中的VSI虛接口。
【舉例】
# 配置OpenFlow實例1禁止上送VLAN接口。
<Sysname> system-view
[Sysname] openflow instance 1
[Sysname-of-inst-1] forbidden port vlan-interface
in-band management vlan命令用來配置帶內管理VLAN。
undo in-band management vlan命令用來恢複缺省情況。
【命令】
in-band management vlan vlan-id-list
undo in-band management vlan
【缺省情況】
未配置帶內管理VLAN。
【視圖】
OpenFlow實例視圖
【缺省用戶角色】
network-admin
【參數】
vlan-id-list:VLAN列表,表示一個或多個VLAN的編號。表示方式為vlan-id-list = { vlan-id [ to vlan-id ] }&<1-10>。其中,vlan-id為指定VLAN的編號,取值範圍為1~4094。&<1-10>表示前麵的參數最多可以輸入10次。
【使用指導】
帶內管理VLAN內的流量進行正常轉發,用於OpenFlow設備與控製器建立安全通道。
【舉例】
# 在實例1中配置VLAN 10為帶內管理VLAN。
<Sysname> system-view
[Sysname] openflow instance 1
[Sysname-of-inst-1] in-band management vlan 10
loop-protection enable命令用來使能環路保護功能。
undo loop-protection enable命令用來恢複缺省情況。
【命令】
loop-protection enable
undo loop-protection enable
【缺省情況】
環路保護功能處於關閉狀態。
【視圖】
OpenFlow實例視圖
【缺省用戶角色】
network-admin
【使用指導】
用戶將OpenFlow實例去激活之後,OpenFlow下發一條流表項,用於丟棄實例所屬VLAN範圍內的所有流量,從而避免環路。
【舉例】
# 配置實例1使能環路保護功能。
<Sysname> system-view
[Sysname] openflow instance 1
[Sysname-of-inst-1] loop-protection enable
mac-ip dynamic-mac aware命令用來配置匹配控製器查詢或刪除流表項指令中的動態MAC地址。
undo mac-ip dynamic-mac aware命令用來恢複缺省情況。
【命令】
mac-ip dynamic-mac aware
undo mac-ip dynamic-mac aware
【缺省情況】
忽略控製器查詢或刪除流表項指令中的動態MAC地址。
【視圖】
OpenFlow實例視圖
【缺省用戶角色】
network-admin
【使用指導】
僅MAC-IP流表支持該命令。
【舉例】
# 配置實例1匹配控製器查詢或刪除流表項指令中的動態MAC地址。
<Sysname> system-view
[Sysname] openflow instance 1
[Sysname-of-inst-1] mac-ip dynamic-mac aware
mac-learning forbidden命令用來配置OpenFlow實例對應的VLAN禁止MAC地址學習。
undo mac-learning forbidden命令用來恢複缺省情況。
【命令】
mac-learning forbidden
undo mac-learning forbidden
【缺省情況】
OpenFlow實例對應的VLAN允許MAC地址學習。
【視圖】
OpenFlow實例視圖
【缺省用戶角色】
network-admin
【舉例】
# 配置實例1對應的VLAN禁止MAC地址學習。
<Sysname> system-view
[Sysname] openflow instance 1
[Sysname-of-inst-1] mac-learning forbidden
openflow instance命令用來創建OpenFlow實例,並進入OpenFlow實例視圖。如果指定的OpenFlow實例已經存在,則直接進入OpenFlow實例視圖。
undo openflow instance命令用來刪除OpenFlow實例。
【命令】
openflow instance instance-id
undo openflow instance instance-id
【缺省情況】
不存在OpenFlow實例。
【視圖】
係統視圖
【缺省用戶角色】
network-admin
【參數】
instance-id:OpenFlow實例號,取值範圍為1~4094。
【舉例】
# 創建OpenFlow實例1,並進入OpenFlow實例視圖。
<Sysname> system-view
[Sysname] openflow instance 1
[Sysname-of-inst-1]
openflow shutdown命令用來關閉接口。
undo openflow shutdown命令用來恢複缺省情況。
【命令】
openflow shutdown
undo openflow shutdown
【缺省情況】
OpenFlow的關閉接口功能處於關閉狀態。
【視圖】
接口視圖
【缺省用戶角色】
network-admin
【使用指導】
開啟本功能後,可以通過display interface命令查看到接口顯示信息中Current state為OFP DOWN。
使用OpenFlow關閉接口後,可以通過如下方式打開接口:
· undo openflow shutdown命令打開接口。
· 通過控製器下發PORT_MOD消息打開接口。
【舉例】
# 在接口Ten-GigabitEthernet1/0/1下使用OpenFlow關閉接口。
<Sysname> system-view
[Sysname] interface ten-gigabitethernet 1/0/1
[Sysname-Ten-GigabitEthernet1/0/1] openflow shutdown
permit-port-type member-port命令用來允許控製器下發的流表中包含聚合接口的成員端口。
undo permit-port-type命令用來恢複缺省情況。
【命令】
permit-port-type member-port
undo permit-port-type
【缺省情況】
禁止控製器下發的流表中包含聚合接口的成員端口。
【視圖】
OpenFlow實例視圖
【缺省用戶角色】
network-admin
【舉例】
# 允許控製器下發的流表中包含聚合接口的成員端口。
<Sysname> system-view
[Sysname] openflow instance 1
[Sysname-of-inst-1] permit-port-type member-port
precedence dynamic arp命令用來配置允許動態ARP表項覆蓋OpenFlow ARP表項。
undo precedence dynamic命令用來恢複缺省情況。
【命令】
precedence dynamic arp
undo precedence dynamic arp
【缺省情況】
禁止動態ARP表項覆蓋OpenFlow ARP表項。
【視圖】
OpenFlow實例視圖
【缺省用戶角色】
network-admin
【使用指導】
僅MAC-IP流表支持本功能。
【舉例】
# 配置OpenFlow實例1允許動態ARP表項覆蓋OpenFlow ARP表項。
<Sysname> system-view
[Sysname] openflow instance 1
[Sysname-of-inst-1] precedence dynamic arp
protocol-packet filter slow命令用來配置丟棄慢速協議報文。
undo protocol-packet filter命令用來恢複缺省情況。
【命令】
protocol-packet filter slow
undo protocol-packet filter
【缺省情況】
未配置丟棄慢速協議報文。
【視圖】
OpenFlow實例視圖
【缺省用戶角色】
network-admin
【使用指導】
慢速協議目前支持LACP和OAM協議。
【舉例】
# 配置丟棄慢速協議報文。
<Sysname> system-view
[Sysname] openflow instance 1
[Sysname-of-inst-1] protocol-packet filter slow
refresh ip-flow命令用來刷新MAC-IP流表的三層表項。
【命令】
refresh ip-flow
【視圖】
OpenFlow實例視圖
【缺省用戶角色】
network-admin
【使用指導】
某些情況下,MAC-IP流表的三層表項會被覆蓋,此時需要手工執行本命令刷新MAC-IP流表,重新從控製器獲取新的三層表項。
【舉例】
# 刷新OpenFlow實例1下MAC-IP流表的三層表項。
<Sysname> system-view
[Sysname] openflow instance 1
[Sysname-of-inst-1] refresh ip-flow
reset openflow instance statistics命令用來清除控製器發送和接收報文的統計計數。
【命令】
reset openflow instance instance-id { controller [ controller-id ] | listened } statistics
【視圖】
用戶視圖
【缺省用戶角色】
network-admin
【參數】
instance-id:OpenFlow實例號,取值範圍為1~4094。
controller-id:控製器的ID號,取值範圍為0~63。如果未指定本參數,則清除實例下所有控製器發送和接收報文的統計計數。
listened:實例啟動的服務端連接的客戶端。
【舉例】
# 清除OpenFlow實例1對應的所有控製器發送和接收報文的統計計數。
<Sysname> reset openflow instance 1 controller statistics
tcp dscp命令用來配置OpenFlow報文的DSCP值。
undo tcp dscp命令用來恢複缺省情況。
【命令】
tcp dscp dscp-value
undo tcp dscp
【缺省情況】
未配置OpenFlow報文的DSCP值。
【視圖】
OpenFlow實例視圖
【缺省用戶角色】
network-admin
【參數】
dscp-value:OpenFlow報文的DSCP值,取值範圍為0~63。
【舉例】
# 配置OpenFlow報文的DSCP值為63。
<Sysname> system-view
[Sysname] openflow instance 1
[Sysname-of-inst-1] tcp dscp 63
snmp-agent trap enable openflow命令用來開啟OpenFlow的告警功能。
undo snmp-agent trap enable openflow命令用來關閉OpenFlow的告警功能。
【命令】
snmp-agent trap enable openflow [ connect-state ]
undo snmp-agent trap enable openflow [ connect-state ]
【缺省情況】
OpenFlow的告警功能處於開啟狀態。
【視圖】
係統視圖
【缺省用戶角色】
network-admin
【參數】
connect-state:打開OpenFlow模塊的OpenFlow交換機與控製器連接狀態的告警功能。如果未指定該參數,則表示打開OpenFlow模塊所有的告警功能。
【使用指導】
開啟OpenFlow模塊的告警功能後,該模塊會生成告警信息,用於報告該模塊的重要事件。生成的告警信息將發送到設備的SNMP模塊,通過設置SNMP中告警信息的發送參數,來決定告警信息輸出的相關屬性。有關告警信息的詳細介紹,請參見“網絡管理和監控配置指導”中的“SNMP”。
【舉例】
# 開啟OpenFlow模塊的告警功能。
<Sysname> system-view
[Sysname] snmp-agent trap enable openflow
tcp-connection backup命令用來開啟OpenFlow連接備份功能。
undo tcp-connection backup命令用來關閉OpenFlow連接備份功能。
【命令】
tcp-connection backup
undo tcp-connection backup
【缺省情況】
OpenFlow連接備份功能處於開啟狀態。
【視圖】
OpenFlow實例視圖
【缺省用戶角色】
network-admin
【使用指導】
配置本功能後,設備在發生主備倒換時,OpenFlow實例仍然保持與控製器的連接。
本功能僅支持IRF隻有兩台成員設備進行主備倒換的場景。
僅基於TCP的OpenFlow連接支持本功能。
【舉例】
# 關閉OpenFlow實例1的OpenFlow連接備份功能。
<Sysname> system-view
[Sysname] openflow instance 1
[Sysname-of-inst-1] undo tcp-connection backup
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!