01-OpenFlow命令
本章节下载: 01-OpenFlow命令 (223.55 KB)
目 录
1.1.5 controller connect interval
1.1.6 controller echo-request interval
1.1.10 default table-miss permit
1.1.11 display openflow controller
1.1.12 display openflow flow-table
1.1.14 display openflow instance
1.1.16 display openflow summary
1.1.21 in-band management vlan
1.1.23 mac-ip dynamic-mac aware
1.1.26 openflow lossless enable
1.1.28 permit-port-type member-port
1.1.29 protocol-packet filter slow
1.1.31 reset openflow instance controller statistics
active instance命令用来激活OpenFlow实例。
undo active instance命令用来注消OpenFlow实例。
未激活OpenFlow实例。
OpenFlow实例视图
OpenFlow实例配置完成后,需要进行激活才能生效。
若当前实例已经与控制器建立连接,激活新配置后OpenFlow实例会重新与控制器建立连接。
使用undo active instance命令注消对应OpenFlow实例后,使用active instance命令即可再次激活该OpenFlow实例。
# 激活OpenFlow实例1。
[Sysname] openflow instance 1
[Sysname-of-inst-1] active instance
classification global命令用来配置OpenFlow实例类型为全局类型。
undo classification命令用来取消配置。
OpenFlow实例类型为VLAN类型。
OpenFlow实例视图
多次执行classification global和classification vlan命令时,最后执行的命令生效。
OpenFlow实例分为两种类型:
· VLAN类型:配置OpenFlow实例为VLAN类型,并配置对应的VLAN后,对应VLAN内的流量根据OpenFlow流表项转发,其它VLAN内的流量进行正常转发。
· 全局类型:配置OpenFlow实例为全局类型后,设备上所有接口(包括VLAN接口和二层以太网接口等)都属于该实例。
# 配置OpenFlow实例类型为全局类型。
[Sysname] openflow instance 1
[Sysname-of-inst-1] classification global
classification vlan命令用来配置OpenFlow实例对应的VLAN。
undo classification命令用来取消配置。
classification vlan vlan-id [ mask vlan-mask ] [ loosen ]
没有配置OpenFlow实例对应的VLAN。
OpenFlow实例视图
vlan-id:VLAN ID,取值范围为1~4094。与VLAN掩码共同生效。
vlan-mask:VLAN掩码,取值范围为0~4095,缺省值为4095。
loosen:松散模式,用来指定OpenFlow实例与对应的VLAN为松散模式。
VLAN & mask为实际生效VLAN区间。mask允许不连续,为0的比特位表示忽略。生效VLAN区间,可通过display openflow instance查看。
· 配置loosen参数后,仅当OpenFlow实例对应的VLAN与端口允许通过的VLAN存在交集时,该端口属于OpenFlow接口。
· 未配置loosen参数时,仅当OpenFlow实例对应的VLAN为端口允许通过的VLAN的子集时,该端口属于OpenFlow接口。
# 配置OpenFlow实例对应的VLAN为255,掩码为7。
[Sysname] openflow instance 1
[Sysname-of-inst-1] classification vlan 255 mask 7
controller address命令用来配置主连接。
undo controller address命令用来取消配置。
undo controller controller-id address
OpenFlow实例视图
controller-id:控制器ID,取值范围为0~63。
ip ip-address:配置设备和控制器的IPv4地址。
ipv6 ipv6-address:配置设备和控制器的IPv6地址。
local address:设备与控制器建立连接时,设备使用的IPv4/IPv6地址。
port port-number:设备与控制器建立连接时,设备使用的端口号,取值范围为1~65535。缺省值为6633。
ssl ssl-policy-name:安全连接的客户端安全策略,用于控制器认证交换机,每个控制器连接配置独立的安全策略。ssl-policy-name为1~31个字符的字符串,不区分大小写。
vrf vrf-name:指定控制器所属的VPN。vrf-name表示MPLS L3VPN的VRF实例名称,为1~31个字符的字符串,区分大小写。
多次执行该命令可以添加多个控制器,与每个控制器仅允许建立一个主连接。
主连接用于控制消息的处理(下发流表项、获取数据、信息上报等)。
# 配置实例1的控制器10的IP地址为1.1.1.1,端口号为6666。
[Sysname] openflow instance 1
[Sysname-of-inst-1] controller 10 address ip 1.1.1.1 port 6666
controller connect interval命令用来配置OpenFlow实例与控制器重连的时间间隔。
undo controller connect interval命令用来恢复缺省情况。
controller connect interval interval-value
undo controller connect interval
OpenFlow实例与控制器重连的时间间隔为60秒。
OpenFlow实例视图
interval-value:连接控制器的间隔时间,取值范围为1~120,单位为秒。
# 配置OpenFlow实例1与控制器重连的时间间隔为10秒。
[Sysname] openflow instance 1
[Sysname-of-inst-1] controller connect interval 10
controller echo-request interval命令用来设置OpenFlow实例发送Echo request报文的时间间隔。
undo controller echo-request interval命令用来恢复缺省情况。
controller echo-request interval interval-value
undo controller echo-request interval
OpenFlow实例发送Echo request报文的时间间隔为5秒。
OpenFlow实例视图
interval-value:发送Echo request报文的时间间隔,取值范围为1~10,单位为秒。
设备CPU负担较大的情况下,请配置较大的发送Echo request报文的时间间隔。
# 配置OpenFlow实例1发送Echo request报文的时间间隔为10秒。
[Sysname] openflow instance 1
[Sysname-of-inst-1] controller echo-request interval 10
controller mode命令用来配置OpenFlow实例与控制器的连接模式。
undo controller mode命令用来恢复缺省情况。
controller mode { multiple | single }
OpenFlow实例视图
multiple:OpenFlow实例与控制器的连接模式为多连接模式。
single:OpenFlow实例与控制器的连接模式为单连接模式。
当连接模式是Single时,OpenFlow实例仅与一个控制器建立连接,其它控制器作为备份,仅当连接断开后,OpenFlow实例连接下一个控制器,直到连接成功。
当连接模式为Multiple时,OpenFlow可以同时连接所有控制器,当一个或者多个控制器失效或者连接断开时,仍然能保证OpenFlow交换机正常工作。
# 配置实例1的控制器连接模式为Single。
[Sysname] openflow instance 1
[Sysname-of-inst-1] controller mode single
datapath-id命令用来配置OpenFlow实例的Datapath ID。
undo datapath-id命令用来恢复缺省值。
缺省情况下,OpenFlow实例的Datapath ID由实例ID和设备桥MAC组成,前16位为实例ID,后48位为设备桥MAC。
OpenFlow实例视图
datapath-id:OpenFlow实例的Datapath ID,取值为16进制格式,取值范围为1~0xFFFFFFFFFFFFFFFF。
# 配置OpenFlow实例1的Datapath ID为0x123456。
[Sysname] openflow instance 1
[Sysname-of-inst-1] datapath-id 123456
description命令用来配置OpenFlow实例的描述信息。
undo description命令用来恢复缺省情况。
未配置OpenFlow实例的描述信息。
OpenFlow实例视图
text:OpenFlow实例的描述信息,为1~255个字符的字符串,不区分大小写。
# 配置实例1的描述信息为test-desc。
[Sysname] openflow instance 1
[Sysname-of-inst-1]description test-desc
default table-miss permit命令用来配置Table Miss表项的缺省动作。
undo default table-miss permit命令用来恢复缺省情况。
undo default table-miss permit
Table Miss表项的缺省动作为丢弃报文。
OpenFlow实例视图
使用active instance命令激活OpenFlow实例后,且Controller没有下发动作前,Table Miss表项的缺省动作为丢弃报文,配置该功能后,Table Miss表项的缺省动作修改为允许报文进行正常转发。
# 配置Table Miss表项的缺省动作为允许报文进行正常转发。
[Sysname] openflow instance 1
[Sysname-of-inst-1] default table-miss permit
display openflow controller命令用来显示OpenFlow实例的控制器信息。
display openflow instance instance-id controller [ controller-id ]
instance-id:OpenFlow实例号,取值范围为1~4094。
controller-id:控制器的ID号,取值范围为0~63。如果未指定本参数,将显示该实例下所有控制器的信息。
# 显示OpenFlow实例10的控制器信息。
<Sysname> display openflow instance 10 controller
Instance 10 controller information:
Reconnect interval: 60 (s)
Echo interval : 5 (s)
Controller ID : 1
Controller IP address : 192.168.49.49
Controller port : 6633
Controller role : --
Connect type : TCP
Connect state : Idle
Packets sent : 0
Packets received : 0
SSL policy : --
VRF name : --
表1-1 display openflow controller命令显示信息描述表
OpenFlow实例下对应控制器的IP地址 |
|
当前连接控制器的TCP端口号 |
|
· --:未连接,未配置角色 · Equal:控制器的角色是Equal · Master:控制器的角色是Master · Slave:控制器的角色是Slave |
|
· TCP:使用TCP连接控制器 · SSL:使用SSL连接控制器 |
|
· Idle:未建立连接 · Established:成功建立连接 |
|
用于SSL连接的SSL策略的名称 |
|
display openflow flow-table命令用来显示OpenFlow实例的流表信息。
display openflow instance instance-id flow-table [ table-id ]
instance-id:OpenFlow实例号。取值范围为1~4094。
table-id:流表ID,取值范围为0~254。如果未指定本参数,将显示所有流表的信息。
# 显示OpenFlow实例10的所有流表信息。
<Sysname> display openflow instance 10 flow-table
Instance 10 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: --
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: --
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
Table 1 information:
Table type: Extensibility, flow entry count: 2, total flow entry count: 2
MissRule Flow entry information:
cookie: 0x0, priority: 0, hard time: 0, idle time: 0, flags: none,
byte count: --, packet count: 60
Match information: any
Instruction information:
Write actions:
Drop
Flow entry 1 information:
cookie: 0x0, priority: 0, hard time: 0, idle time: 0, flags: flow_send_rem
|check_overlap, byte count: --, packet count: 1
Match information:
Input interface: XGE1/0/3
Ethernet source MAC address: 0000-0000-0001
Ethernet source MAC address mask: ffff-ffff-ffff
Instruction information:
Set meter: 100
Apply actions:
Output interface: XGE1/0/4
Write actions:
Output interface: Controller, send length: 128 bytes
表1-2 display openflow flow-table命令显示描述表
流表类型 : · MAC-IP:MAC-IP流表 · Extensibility:Extensibility流表 |
|
flow entry count |
|
total flow entry count |
|
· flow_send_rem:发送流表项删除消息 · check_overlap:检查流表项重复 · reset_counts:重置流表项统计信息 · no_pkt_counts:不统计报文计数 · no_byte_counts:不统计字节计数 · none:无标志位 |
|
写入元数据及掩码。元数据用于在OpenFlow实例内部的不同流表间传递信息 |
|
转向指定ID的流表 |
|
元数据/掩码 |
||
以太网目的MAC地址/掩码 |
||
以太网源MAC地址/掩码 |
||
VLAN ID/掩码 |
||
VLAN优先级 |
||
DSCP(Differentiated Services Code Point,区分服务编码点)值 |
||
IP头的ECN(Explicit Congestion Notification,显式拥塞通知)值 |
||
IPv4或IPv6协议号 |
||
IPv4源地址/掩码 |
||
IPv4目的地址/掩码 |
||
TCP源端口 |
||
TCP目的端口 |
||
UDP源端口 |
||
UDP目的端口 |
||
ICMPV4类型 |
||
ICMPV4代号 |
||
ARP源IPv4地址/掩码 |
||
ARP源MAC地址/掩码 |
||
IPv6源地址/掩码 |
||
IPv6目的地址/掩码 |
||
IPv6流标签/掩码 |
||
ICMPv6类型 |
||
ICMPv6代号 |
||
根据指定Group表处理报文 |
|
将流表项映射到指定队列ID,当报文被转发到特定端口时,队列ID通常被用于基本QoS |
|
表1-5 OpenFlow接口类型
XGE1/0/3(端口名称) |
端口名称,包含物理口和逻辑口(如聚合口) |
display openflow group命令用来显示OpenFlow实例的Group表信息
display openflow instance instance-id group [ group-id ]
instance-id:OpenFlow实例号,取值范围为1~4094。
group-id:Group表项ID。取值范围为0~4294967040。如果未指定本参数,将显示实例所有Group表项的信息。
Group表项被流表项引用,使OpenFlow设备支持额外的报文转发功能(如组播和广播)。每个Group表中含有多个动作桶(Action Buckets),匹配Group表项的报文可以直接执行动作桶中的动作。
用户不能在设备上配置Group表项,需要在控制器中配置Group表项后,下发到OpenFlow设备。
# 显示OpenFlow实例10的Group表信息。
<Sysname> display openflow instance 10 group
Instance 10 group table information:
Group count: 1
Group entry 1:
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: XGE1/0/11
Bucket 2 information:
Action count 1, watch port: any, watch group: any
Byte count --, packet count --
Output interface: XGE1/0/12
Referenced information:
Count: 3
Flow table 0
Flow entry: 1, 2, 3
表1-6 display openflow group命令显示信息描述表
当前OpenFlow实例中包含的Group表项的总数 |
|
当前Group表的类型。 All表示执行所有动作桶,用于组播或者广播 |
|
Group表中包含的出端口 |
|
Group被流表项引用的信息 |
|
引用Group表项的流表项的总数 |
|
引用Group表项的流表项所在的流表ID |
|
引用Group表项的流表项ID列表 |
display openflow instance命令用来显示OpenFlow实例的详细信息。
display openflow instance [ instance-id ]
instance-id:OpenFlow实例号,取值范围为1~4094。
# 显示OpenFlow实例的详细信息。
<Sysname> display openflow instance
Instance 10 information:
Configuration information:
Description : test-desc
Active status : Active
Inactive configuration:
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: Enabled
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
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-7 display openflow instance命令显示信息描述表
OpenFlow实例的描述信息 |
|
OpenFlow实例的激活状态 |
|
未生效的OpenFlow实例配置 |
|
已生效的OpenFlow实例配置 |
|
OpenFlow实例的类型,已加入OpenFlow实例的VLAN列表,VLAN总数以及loosen模式 |
|
带内管理VLAN列表及VLAN数量,显示为empty VLAN时,表示没有配置带内管理VLAN |
|
OpenFlow实例与控制器的连接模式: · multiple:OpenFlow实例与控制器的连接模式为多连接模式 · single:OpenFlow实例与控制器的连接模式为单连接模式 |
|
OpenFlow实例对应的VLAN是否禁止MAC地址学习: · Enabled,表示OpenFlow实例对应的VLAN允许MAC地址学习 · Disabled,表示OpenFlow实例对应的VLAN禁止MAC地址学习 |
|
Extensibility表的流表项上限 |
|
OpenFlow实例的Datapath ID |
|
Table Miss表项的缺省动作 · Permit:允许 · Drop:丢弃 |
|
禁止上送Controller的端口类型: · VLAN interface:VLAN接口 |
|
已加入OpenFlow实例的端口 |
|
流表ID(类型) · MAC-IP:MAC-IP类型流表 · Extensibility:Extensibility类型流表 |
|
Controller id IP address: port: |
与OpenFlow实例建立连接的控制器的概要信息(该信息仅在OpenFlow实例与控制器建立连接时显示) |
OpenFlow实例与控制器连接断开时的运行模式(该信息仅在OpenFlow实例与控制器断开连接时显示): · secure:表示OpenFlow实例与控制器的连接断开后,交换机根据流表项转发 · standalone:表示OpenFlow实例与控制器的连接断开后,交换机正常转发 |
display openflow meter命令用来显示OpenFlow实例的Meter表项信息。
display openflow instance instance-id meter [ meter-id ]
instance-id:OpenFlow实例号,取值范围为1~4094。
meter-id:Meter表项ID,取值范围为0~4294901760。如果未指定本参数,将显示实例所有Meter表项的信息。
# 显示OpenFlow实例10的Meter表项信息。
<Sysname> display openflow instance 10 meter
Meter flags: KBPS -- Rate value in kb/s, PKTPS -- Rate value in packet/sec
BURST -- Do burst size, STATS -- Collect statistics
Instance 10 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: --, 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: --, packet count: --
Referenced information:
Count: 0
表1-8 display openflow meter命令显示信息描述表
当前实例包含的Meter表项的总数 |
|
当前Meter表项的所携带的flags: · KBPS:速率值以kbps为单位 · PKTPS:速率值以packet/sec(包/秒)为单位 · BURST:帧大小 · STATS:收集统计信息 |
|
Meter表项包含的band |
|
band类型: · drop:丢弃数据包 · dscp_remark:修改数据包IP头部的dscp |
|
band的字节统计计数,“--”表示不支持 |
|
band的报文统计计数,“--”表示不支持 |
|
Meter表项被流表项引用的信息 |
|
引用Meter表项的流表项的总个数 |
|
引用Meter表项的流表项所在的流表ID |
|
引用Meter表项的流表项ID列表 |
display openflow summary命令用来显示OpenFlow实例的概要信息,包括OpenFlow实例ID、激活状态、Datapath ID等信息。
# 显示OpenFlow实例的概要信息。
<Sysname> display openflow summary
Fail Open mode: Se -- secure mode, Sa -- standalone mode
ID Status Datapath-ID Channel Table-num Port-num Reactivate
1 active 0x0000000100001221 Connected 2 8 Y
10 deactive - - - - -
4094 active 0x00000ffe00001221 Failed(Sa) 2 0 N
表1-9 display openflow summary命令显示描述表
OpenFlow实例ID |
|
OpenFlow实例的激活状态: · active:表示该OpenFlow实例已经激活 · deactive:表示该OpenFlow实例未激活 |
|
OpenFlow实例的Datapath ID。未激活该OpenFlow实例时,显示为“-” |
|
OpenFlow实例与控制器建立的安全通道的状态: · connected:OpenFlow实例与控制器已经建立安全通道 · Failed(Se):安全通道断开,连接中断模式为Secure模式 · Failed(Sa):连接通道断开,连接中断模式为Standalone模式 · 未激活该OpenFlow实例时,显示为“-” |
|
OpenFlow实例中的流表数目。未激活该OpenFlow实例时,显示为“-” |
|
属于该OpenFlow实例的接口数目。未激活该OpenFlow实例时,显示为“-” |
|
该OpenFlow实例是否需要重新激活: · Y:表示该OpenFlow实例需要重新激活 · N:表示该OpenFlow实例无需重新激活 · 未激活该OpenFlow实例时,显示为“-” |
fail-open mode命令用来配置OpenFlow实例与控制器连接中断时的运行模式。
undo fail-open mode命令用来恢复缺省情况。
fail-open mode { secure | standalone }
OpenFlow实例建立时,缺省为Secure模式,且为该实例下发Table Miss表项(动作为drop)。
OpenFlow实例视图
secure:Secure模式,连接断开后,交换机根据流表项转发。
standalone:Standalone模式,连接断开后,交换机正常转发。
# 配置交换机与控制器连接中断时的运行模式为Standalone模式。
[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
Extensibility流表项的上限为65535。
OpenFlow实例视图
limit-value:流表项上限值。取值范围为1~65535。
# 配置Extensibility表的流表项上限为256。
[Sysname] openflow instance 1
[Sysname-of-inst-1] flow-entry max-limit 256
flow-table命令用来配置OpenFlow实例下的流表类型和流表ID。
undo flow-table命令用来恢复缺省情况。
OpenFlow实例包含了流表ID为0的Extensibility流表。
OpenFlow实例视图
ingress-vlan ingress-table-id:表示入方向添加VLAN Tag流表。ingress-table-id为Ingress-vlan流表ID,取值范围为0~254。
extensibility extensibility-table-id:Extensibility流表ID,取值范围为0~254。
mac-ip mac-ip-table-id:MAC-IP流表ID,取值范围为0~254。
egress-vlan egress-table-id:表示出方向剥离VLAN Tag流表。egress-table-id为Egress-vlan流表ID,取值范围为0~254。
用户激活实例之前,配置当前OpenFlow实例使用的流表类型以及与之对应的流表ID。
MAC-IP表的ID值必须小于Extensibility表的ID值。
ingress-vlan和egress-vlan可以单独配置,也可以和mac-ip、extensibility一起配置,一起配置的时候,ingress-vlan和egress-vlan必须是首尾两表。另外,只有在配置了QINQ模式,并且设备处于Standalone模式时,ingress-vlan和egress-vlan这两个流表才生效。
# 配置OpenFlow实例1使用流表类型为MAC-IP表ID为0,Extensibility表ID为1。
[Sysname] openflow instance 1
[Sysname-of-inst-1] flow-table mac-ip 0 extensibility 1
forbidden port命令用来配置禁止OpenFlow实例上送Controller的端口类型。
undo forbidden port命令用来恢复缺省情况。
forbidden port { l3-physical-interface | vlan-interface } *
OpenFlow实例中所有接口都上报Controller。
OpenFlow实例视图
l3-physical-interface:表示三层以太网接口。设备暂不支持该参数。
vlan-interface:表示VLAN接口。
# 配置OpenFlow实例1禁止上报VLAN接口。
[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-list
OpenFlow实例视图
vlan-list:VLAN ID列表,表示方式为vlan-list = { vlan-id1 [ to vlan-id2 ] }&<1-10>。其中,vlan-id1和vlan-id2为指定VLAN的编号,取值范围为1~4094,&<1-10>表示前面的参数最多可以重复输入10次。
带内管理VLAN必须是OpenFlow实例对应VLAN的子集。
该功能仅适用于VLAN类型的OpenFlow实例。
# 在OpenFlow实例1中配置带内管理VLAN为VLAN10。
[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地址,即忽略控制器下发的此类消息。
OpenFlow实例视图
此功能仅在支持MAC-IP流表情况下,决定是否支持控制器在查询或者删除流表项时包含动态MAC地址(动态MAC表项变化不需要上报控制器)。
该功能仅适用于VLAN类型的OpenFlow实例。
# 配置实例1支持动态MAC地址。
[Sysname] openflow instance 1
[Sysname-of-inst-1] mac-ip dynamic-mac aware
mac-learning forbidden命令用来配置在OpenFlow实例对应的VLAN禁止MAC地址学习。
undo mac-learning forbidden命令用来恢复缺省情况
OpenFlow实例对应的VLAN允许MAC地址学习。
OpenFlow实例视图
此功能仅适用于VLAN类型的OpenFlow实例。
# 配置OpenFlow实例1对应的VLAN禁止MAC地址学习。
[Sysname] openflow instance 1
[Sysname-of-inst-1] mac-learning forbidden
openflow instance命令用来创建OpenFlow实例,并进入OpenFlow实例视图。
undo openflow instance命令用来删除指定的OpenFlow实例。
undo openflow instance instance-id
没有配置OpenFlow实例。
instance-id:OpenFlow实例号,取值范围为1~4094。
# 创建OpenFlow实例1,并进入OpenFlow实例视图。
[Sysname] openflow instance 1
[Sysname-of-inst-1]
openflow lossless enable命令用来开启OpenFlow转发防丢包功能。
undo openflow lossless enable命令用来恢复缺省配置。
OpenFlow转发防丢包功能处于关闭状态。
配置该功能会导致ACL不能匹配IPv6地址。
配置该功能或恢复为缺省情况后,需要保存配置并重启设备后生效。
# 开启OpenFlow转发防丢包功能。
[Sysname] openflow lossless enable
Do you want to change the lossless traffic mode? [Y/N]:y
For the setting to take effect, save the configuration, and then reboot the device.
openflow shutdown命令用来配置OpenFlow的关闭接口功能。
undo openflow shutdown命令用来恢复缺省情况。
【命令】
openflow shutdown
undo openflow shutdown
【缺省情况】
未配置OpenFlow的关闭接口功能。
【视图】
二层以太网接口视图
二层聚合接口视图
【缺省用户角色】
network-admin
【使用指导】
配置OpenFlow的关闭接口功能后,通过display interface命令查看接口显示信息中Current state为OFP DOWN。
配置openflow shutdown命令后,除了通过undo openflow shutdown命令打开接口,还可以通过收到控制器下发的PORT_MOD消息来打开接口。
【举例】
# 在以太网接口Ten-GigabitEthernet1/0/1上配置OpenFlow的关闭接口功能。
<Sysname> system-view
[Sysname] interface ten-gigabitethernet1/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
protocol-packet filter slow命令用来配置匹配慢速协议报文的高优先级流表项,动作为丢弃。
undo protocol-packet filter命令用来恢复缺省情况。
【命令】
protocol-packet filter slow
undo protocol-packet filter
【缺省情况】
未配置匹配慢速协议报文的高优先级流表项。
【视图】
OpenFlow实例视图
【缺省用户角色】
network-admin
【使用指导】
匹配慢速协议报文的高优先级流表项优先级高于控制器下发的流表项。
慢速协议目前支持LACP、LAMP和OAM协议。
【举例】
# 配置匹配慢速协议报文的高优先级流表项,动作为丢弃。
<Sysname> system-view
[Sysname] openflow instance 1
[Sysname-of-inst-1] protocol-packet filter slow
qinq-network enable命令用来配置QINQ模式。
undo qinq-network enable命令用来恢复缺省情况。
【命令】
qinq-network enable
undo qinq-network enable
【缺省情况】
未配置QINQ模式,带有双层VLAN Tag的报文通过Extensibility表之后,只带一个内层的VLAN Tag。
【视图】
OpenFlow实例视图
【缺省用户角色】
network-admin
【使用指导】
配置本功能后,带有双层VLAN Tag的报文通过Extensibility表之后,还是会带双层VLAN Tag。
【举例】
# 配置QINQ模式。
<Sysname> system-view
[Sysname] openflow instance 1
[Sysname-of-inst-1] qinq-network enable
reset openflow instance controller statistics命令用来清除控制器发送和接收的报文的统计计数。
reset openflow instance instance-id controller [ controller-id ] statistics
instance-id:OpenFlow实例号,取值范围为1~4094。
controller-id:控制器的ID号,取值范围为0~63。如果未指定本参数,清除实例下所有控制器发送和接收的报文的统计计数。
# 清除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值为10。
【视图】
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
tcp-connection backup命令用来开启OpenFlow连接备份功能。
undo tcp-connection backup命令用来用来关闭OpenFlow连接备份功能。
【命令】
tcp-connection backup
undo tcp-connection backup
【缺省情况】
OpenFlow连接备份功能处于开启状态。
【视图】
OpenFlow实例视图
【缺省用户角色】
network-admin
【使用指导】
OpenFlow连接备份功能通过备份基于TCP的OpenFlow连接信息,使设备在发生主备倒换时保持OpenFlow连接。
本命令只在基于TCP的OpenFlow连接上有效。
【举例】
# 配置实例1开启OpenFlow连接备份功能。
<Sysname> system-view
[Sysname] openflow instance 1
[Sysname-of-inst-1] tcp-connection backup
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!