• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 关于我们

15-OpenFlow命令参考

目录

01-OpenFlow命令

本章节下载 01-OpenFlow命令  (326.87 KB)

01-OpenFlow命令


1 OpenFlow

1.1  OpenFlow配置命令

1.1.1  active instance

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

1.1.2  classification

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

1.1.3  controller address

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

1.1.4  controller auxiliary

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

1.1.5  controller connect interval

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

1.1.6  controller echo-request interval

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

1.1.7  controller mode

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

1.1.8  datapath-id

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

1.1.9  data-plane enable

data-plane enable命令用来开启OpenFlow数据转发平面功能。

undo data-plane enable命令用来关闭OpenFlow数据转发平面功能。

【命令】

data-plane enable

undo data-plane enable

【缺省情况】

OpenFlow数据转发平面功能处于关闭状态。

【视图】

OpenFlow实例视图

【缺省用户角色】

network-admin

【使用指导】

在转发与控制分离的组网中,设备需要开启OpenFlow数据转发平面功能,才能将用户侧接口(以太网服务实例所在的接口)与VXLAN的对应关系,以及VXLAN-DCI隧道与VXLAN的对应关系上送控制器,控制器根据这些接口对应关系生成流表项再下发到设备,指导报文转发。

仅当OpenFlow实例处于未激活状态时才能配置该命令。

【举例】

# 开启OpenFlow数据转发平面功能。

<Sysname> system-view

[Sysname] openflow instance 1

[Sysname-of-inst-1] data-plane enable

1.1.10  default table-miss permit

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

1.1.11  description

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

1.1.12  display openflow

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名称,--表示未配置

 

1.1.13  display openflow auxiliary

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客户端策略的名称,--表示未配置

 

1.1.14  display openflow flow-table

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: WGE1/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 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: WGE1/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: WGE1/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表示该流表项未生效

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

流表项最后修改时间

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目的端口/掩码

SCTP source port

mask

SCTP(Stream Control Transmission Protocol,流控制传输协议)源端口/掩码

SCTP destination port

mask

SCTP目的端口/掩码

ICMPv4 type

ICMPv4类型