01-OpenFlow命令
本章节下载: 01-OpenFlow命令 (309.70 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.22 forbidden packet-in arp controller
1.1.24 in-band management vlan
1.1.30 permit-port-type member-port
1.1.32 protocol-packet filter slow
1.1.34 reset openflow instance statistics
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 ] [ 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-policy-name为1~31个字符的字符串,不区分大小写。
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
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实例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
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
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 (default) flow entry information:
cookie: 0x0, priority: 0, hard time: 0, idle time: 0, flags: none,
byte count: 300, packet count: 60
Create time:09:39:42 10/24/2017, Last modified time:09:39:42 10/24/2017
Match information: any
Instruction information:
Write actions:
Drop
Flow entry rule 1 information: (Not effective)
cookie: 0x0, priority: 0, hard time: 0, idle time: 0, flags: flow_send_rem
|check_overlap, byte count: 8, packet count: 1
Create time:09:39:42 10/24/2017, Last modified time:09:39:42 10/24/2017
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-3 display openflow flow-table命令显示信息描述表
字段 |
描述 |
Table information |
流表信息 |
Table type |
流表类型: · MAC-IP:MAC-IP流表 · Extensibility:Extensibility流表 |
flow entry count |
控制器下发的流表项个数 |
total flow entry count |
流表中流表项总个数 |
Flow entry information |
流表项信息,Not effective表示该流表项未生效 |
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 |
流表项最后修改时间 |
Match information |
匹配规则信息(表1-4) |
Instruction information |
动作指令集信息: · Set meter:应用指定的Meter表 · Write metadata:写入元数据,元数据用来在不同流表间传递信息 · Write metadata mask:元数据掩码 · Goto table:进入下一级流表 · Clear actions:清除动作集中的所有动作 · Apply actions:立即执行动作序列中的动作 · Write actions:更改动作集中的所有动作 更多信息,请参见表1-5 |
表1-4 流表项匹配规则信息(不同产品支持的匹配信息不同,请以设备的实际情况为准)
匹配字段名称 |
匹配掩码字段名称 |
描述 |
Input interface |
无 |
入端口(表1-6) |
Physical input interface |
无 |
入物理端口 |
Metadata |
Metadata mask |
元数据/掩码 |
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目的端口/掩码 |
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) |
Group |
根据指定Group表处理报文 |
Set queue |
将流表项映射到指定队列ID |
Set field |
修改报文指定的域 |
端口名称 |
入端口 |
出端口 |
说明 |
In port |
不支持 |
支持 |
报文从入接口转发 |
Normal |
不支持 |
支持 |
报文正常转发 |
Flood |
不支持 |
支持 |
报文广播发送 |
All |
不支持 |
支持 |
报文从所有接口发送 |
Controller |
支持 |
支持 |
报文上送控制器 |
Local |
支持 |
支持 |
报文上送本地CPU |
Any |
不支持 |
不支持 |
接口通配描述,不能作为入接口以及出接口 |
(端口名称) |
支持 |
支持 |
实例有效端口,包含物理接口和逻辑接口 |
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 1, watch port: any, watch group: any
Byte count 0, packet count 0
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表示执行所有动作桶,用于组播或者广播
|
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 |
Output interface |
转发报文到特定的OpenFlow接口 |
Output interface |
Group表项中包含的出端口 |
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实例100的详细信息。
<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
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,类型 · MAC-IP:MAC-IP类型流表 · Extensibility:Extensibility类型流表 |
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接口 |
TCP connection backup |
OpenFlow连接备份功能: · Disabled:关闭 · Enabled:开启 |
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-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
【参数】
extensibility extensibility-table-id:Extensibility流表ID,取值范围为0~254。
mac-ip mac-ip-table-id:MAC-IP流表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 } *
undo forbidden port
【缺省情况】
未配置禁止上送控制器的端口类型,即所有接口类型都上送控制器。
【视图】
OpenFlow实例视图
【缺省用户角色】
network-admin
【参数】
l3-physical-interface:三层以太网接口和三层聚合接口。
vlan-interface:VLAN接口。
【举例】
# 配置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
listening port命令用来配置OpenFlow实例作为SSL服务器监听控制器。
undo listening port命令用来恢复缺省情况。
【命令】
listening port port-number ssl ssl-policy-name
undo listening port
【缺省情况】
未配置OpenFlow实例作为SSL服务器监听控制器。
【视图】
OpenFlow实例视图
【缺省用户角色】
network-admin
【参数】
port-number:服务器的端口号,取值范围为1~65535。
ssl ssl-policy-name:SSL服务器端策略的名称,为1~31字符的字符串,不区分大小写。
【使用指导】
未开启SSL服务器时,设备作为TCP/SSL客户端主动连接控制器(SSL服务器);启动SSL服务器之后,设备作为SSL服务器端被动等待控制器(SSL客户端)连接。关于SSL的详细介绍,请参见“安全配置指导”中的“SSL”。
不能通过重复执行本命令修改OpenFlow实例启动的SSL服务器。如需修改,请先通过undo listening port命令删除OpenFlow实例启动的SSL服务器,再执行listening port命令重新启动SSL服务器。
【举例】
# 配置OpenFlow实例1作为SSL服务器监听控制器,端口号为20000,SSL服务器端策略的名称为ssl_name。
<Sysname> system-view
[Sysname] openflow instance 1
[Sysname-of-inst-1] listening port 20000 ssl ssl_name
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-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
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保留在没有任何通知或提示的情况下对资料内容进行修改的权利!