OVS命令说明
软卸载在OVS的命令系统上新增了一些命令,用来维护软卸载的状态和功能,表1列出了新增的命令及功能。
命令 |
功能 |
---|---|
ovs-appctl hwoff-flow-agent/add-protolist |
添加协议名单列表,为支持屏蔽指定协议类型报文卸载 |
ovs-appctl hwoff-flow-agent/add-rapid-protolist |
添加快速卸载协议 |
ovs-appctl hwoff-flow-agent/clear-error-stats |
清除hwoff-flow-agent的错误统计信息 |
ovs-appctl hwoff-flow-agent/disable |
禁止流表卸载功能(禁止使用软卸载) |
ovs-appctl hwoff-flow-agent/dump-ct |
查询hwoff-flow-agent记录的连接跟踪信息 |
ovs-appctl hwoff-flow-agent/dump-policy |
查询hwoff-flow-agent的卸载策略中的各个参数 |
ovs-appctl hwoff-flow-agent/dump-protolist |
查询当前hwoff-flow-agent已经添加的协议列表 |
ovs-appctl hwoff-flow-agent/dump-rapid-protolist |
查询快速卸载协议 |
ovs-appctl hwoff-flow-agent/enable |
开启流表卸载功能(开启软卸载,默认开启) |
ovs-appctl hwoff-flow-agent/error-stats |
查询hwoff-flow-agent的错误统计信息 |
ovs-appctl hwoff-flow-agent/flush-flow |
清空卸载流表 |
ovs-appctl hwoff-flow-agent/flush-protolist |
清空当前hwoff-flow-agent记录的协议列表 |
ovs-appctl hwoff-flow-agent/flush-rapid-protolist |
清除所有快速卸载协议 |
ovs-appctl hwoff-flow-agent/get-offloadrx-threshold |
查询自动删除卸载流的阈值 |
ovs-appctl hwoff-flow-agent/live-time |
设置卸载到转发引擎里面的流的老化时间 |
ovs-appctl hwoff-flow-agent/policy |
配置流表卸载的策略参数 |
ovs-appctl hwoff-flow-agent/print-flow |
卸载流时在OVS日志中打印流的细节 |
ovs-appctl hwoff-flow-agent/set-protolist-mode |
设置卸载引擎记录的协议列表模式 |
ovs-appctl hwoff-flow-agent/stats |
查看flow agent里非错误的统计 |
ovs-appctl hwoff-flow-agent/use-offloadrx-threshold |
设置自动删除卸载流的阈值 |
ovs-appctl hwoff/dump-hwoff-flows |
查询卸载流表信息 |
ovs-appctl hwoff/shmap-dump-hw |
查询Host维护的软硬件流表映射关系中,记录的所有硬件流表的UFID,查询对应的硬件流表所关联的软件流表的UFID |
ovs-appctl hwoff/shmap-dump-sw |
查询Host维护的软硬件流表映射关系中,记录的硬件流表关联的所有软件流表的UFID,查询对应的软件流表UFID、Type所关联的硬件流表的UFID |
ovs-appctl hwoff/shmap-error-stats |
查询软硬件流表映射模块的错误统计信息 |
ovs-appctl hwoff/shmap-flush |
清空当前shmap所记录的软硬件流表映射关系 |
以下对表中个命令进行具体说明。
ovs-appctl hwoff-flow-agent/add-protolist
命令格式:
ovs-appctl hwoff-flow-agent/add-protolist [PROTOLIST]
功能描述:
添加协议名单列表,为支持屏蔽指定协议类型报文卸载。
参数说明:
参数 |
是否必选 |
描述 |
---|---|---|
PROTOLIST |
是 |
协议号类表,范围在<0~255>或者<1536~65535>之间,比如23,25,1560 |
示例:
1 | ovs-appctl hwoff-flow-agent/add-protolist 23,25,1560
|
ovs-appctl hwoff-flow-agent/add-rapid-protolist
命令格式:
hwoff-flow-agent/add-rapid-protolist [PROTOLIST]
功能描述:
添加快速卸载协议。
参数说明:
参数 |
是否必选 |
描述 |
---|---|---|
PROTOLIST |
是 |
协议号类表,必须是0、1、2、3中的一个或多个(0代表udp,1代表tcp,2代表icmp,3代表icmpv6) |
示例:
1 | ovs-appctl hwoff-flow-agent/add-rapid-protolist 0,1,2,3
|
ovs-appctl hwoff-flow-agent/clear-error-stats
命令格式:
ovs-appctl hwoff-flow-agent/clear-error-stats
功能描述:
清除hwoff-flow-agent的错误统计信息。
参数说明:
NA
示例:
1 | ovs-appctl hwoff-flow-agent/clear-error-stats |
ovs-appctl hwoff-flow-agent/disable
命令格式:
ovs-appctl hwoff-flow-agent/disable
功能描述:
禁止流表卸载功能(禁止使用软卸载)。
参数说明:
NA
示例:
1 | ovs-appctl hwoff-flow-agent/disable |
ovs-appctl hwoff-flow-agent/dump-ct
命令格式:
ovs-appctl hwoff-flow-agent/dump-ct [-m] [1-1000]
功能描述:
查询hwoff-flow-agent记录的连接跟踪信息。
参数说明:
参数 |
是否必选 |
描述 |
---|---|---|
-m |
否 |
查看ct表的详细信息 |
[1-1000] |
否 |
指定显示ct表的条数 |
示例:
1 | ovs-appctl hwoff-flow-agent/dump-ct -m 1
|
ovs-appctl hwoff-flow-agent/dump-policy
命令格式:
ovs-appctl hwoff-flow-agent/dump-policy
功能描述:
查询hwoff-flow-agent的卸载策略中的各个参数。
参数说明:
NA
示例:
1 | ovs-appctl hwoff-flow-agent/dump-policy |
ovs-appctl hwoff-flow-agent/dump-protolist
命令格式:
ovs-appctl hwoff-flow-agent/dump-protolist
功能描述:
查询当前hwoff-flow-agent已经添加的协议列表。
参数说明:
NA
示例:
1 | ovs-appctl hwoff-flow-agent/dump-protolist |
ovs-appctl hwoff-flow-agent/dump-rapid-protolist
命令格式:
ovs-appctl hwoff-flow-agent/dump-rapid-protolist
功能描述:
查询快速卸载协议。
参数说明:
NA
示例:
1 | ovs-appctl hwoff-flow-agent/dump-rapid-protolist |
ovs-appctl hwoff-flow-agent/enable
命令格式:
ovs-appctl hwoff-flow-agent/enable
功能描述:
开启流表卸载功能(开启软卸载,默认开启)。
参数说明:
NA
示例:
1 | ovs-appctl hwoff-flow-agent/enable |
ovs-appctl hwoff-flow-agent/error-stats
命令格式:
ovs-appctl hwoff-flow-agent/error-stats
功能描述:
查询hwoff-flow-agent的错误统计信息。
参数说明:
NA
示例:
1 | ovs-appctl hwoff-flow-agent/error-stats |
ovs-appctl hwoff-flow-agent/flush-flow
命令格式:
ovs-appctl hwoff-flow-agent/flush-flow
功能描述:
清空硬件流表。
参数说明:
NA
示例:
1 | ovs-appctl hwoff-flow-agent/flush-flow |
ovs-appctl hwoff-flow-agent/flush-protolist
命令格式:
ovs-appctl hwoff-flow-agent/flush-protolist
功能描述:
清空当前hwoff-flow-agent记录的协议列表。
参数说明:
NA
示例:
1 | ovs-appctl hwoff-flow-agent/flush-protolist |
ovs-appctl hwoff-flow-agent/flush-rapid-protolist
命令格式:
ovs-appctl hwoff-flow-agent/flush-rapid-protolist
功能描述:
清除所有快速卸载协议。
参数说明:
NA
示例:
1 | ovs-appctl hwoff-flow-agent/flush-rapid-protolist |
ovs-appctl hwoff-flow-agent/get-offloadrx-threshold
命令格式:
ovs-appctl hwoff-flow-agent/get-offloadrx-threshold
功能描述:
查询自动删除卸载流的阈值。
参数说明:
NA
示例:
1 | ovs-appctl hwoff-flow-agent/get-offloadrx-threshold |
ovs-appctl hwoff-flow-agent/live-time
命令格式:
ovs-appctl hwoff-flow-agent/live-time TIME
功能描述:
设置卸载到转发引擎里面的流的老化时间。
参数说明:
参数 |
是否必选 |
描述 |
---|---|---|
TIME |
是 |
1-86400000, 设置老化时间,单位ms |
示例
1 | ovs-appctl hwoff-flow-agent/live-time 200000
|
ovs-appctl hwoff-flow-agent/policy
命令格式:
ovs-appctl hwoff-flow-agent/policy enable_permission <0|1> | user_default_permissions <0-10000000> | permission_update_interval <100-10000000 ms> | permission_credit <0-10000> offload_packet_num <0-10000000> | offload_delay_mode <0|1> | duration_before_offload <0-10000000 ms> | offload_pps <0-10000000> | garbage_clean_interval <100-10000000 ms> | garbage_max_life <10-10000000 ms> | enable_clean_window <0|1> | clean_pps <0-10000000> | clean_window_update_interval <100-10000000 ms> | limit_flow_nums <2000000-8000000> | user_idle_time <1-10000000>
功能描述:
配置流表卸载的策略参数。
参数说明:
参数 |
是否必选 |
描述 |
---|---|---|
enable_permission |
否 |
卸载许可开关,取值范围为<0|1>,0表示关闭,1表示开启 |
user_default_permissions |
否 |
默认卸载许可流数量,取值范围为<0-10000000> |
permission_update_interval |
否 |
卸载许可更新间隔时间,取值范围为<100-10000000 ms> |
permission_credit |
否 |
ct卸载许可的数量限制,取值范围为<0-10000>,0代表无限制 |
offload_packet_num |
否 |
卸载前报文个数,取值范围为<0-10000000> |
offload_delay_mode |
否 |
是否开启卸载延迟模式,取值范围为<0|1>,0表示关闭,1表示开启 |
duration_before_offload |
否 |
卸载延迟时间,取值范围为<0-10000000 ms> |
offload_pps |
否 |
卸载延迟pps,取值范围为<0-10000000> |
garbage_clean_interval |
否 |
垃圾流清理间隔,取值范围为<100-10000000 ms> |
garbage_max_life |
否 |
垃圾流最大老化时间,取值范围为<10-10000000 ms> |
enable_clean_window |
否 |
清理ct卸载缓存的限制,达到数量就清理,取值范围为<0-10000000>,0代表关闭 |
clean_pps |
否 |
流替换pps标准,取值范围为<0-10000000> |
clean_window_update_interval |
否 |
清理ct卸载缓存的间隔时间,取值范围为<100-10000000 ms> |
limit_flow_nums |
否 |
限制卸载流条数为指定值,取值范围为<2000000-8000000> |
user_idle_time |
否 |
设置flowagent卸载策略user的老化时间,取值范围为<1-10000000 s> |
示例:
1 | ovs-appctl hwoff-flow-agent/policy enable_permission 1
|
ovs-appctl hwoff-flow-agent/print-flow
命令格式:
ovs-appctl hwoff-flow-agent/print-flow num
功能描述:
卸载流时在ovs日志中打印流的细节。
参数说明:
参数 |
是否必选 |
描述 |
---|---|---|
num |
是 |
打印前num次卸载的细节,有效范围[0-15],默认值为0,表示不打印 |
示例:
1 | ovs-appctl hwoff-flow-agent/print-flow 1
|
ovs-appctl hwoff-flow-agent/set-protolist-mode
命令格式:
ovs-appctl hwoff-flow-agent/set-protolist-mode [black] | [white]
功能描述:
设置卸载引擎记录的协议列表模式,支持卸载(white)或不卸载(black)。
需要配合ovs-appctl hwoff-flow-agent/add-protolist一起使用。
参数说明:
参数 |
是否必选 |
描述 |
---|---|---|
black |
否 |
禁止协议列表所记录的协议类型的报文卸载 |
white |
否 |
允许协议列表所记录的协议类型的报文卸载 |
示例:
- 配置协议列表
1
ovs-appctl hwoff-flow-agent/add-protolist 23,25,1560
- 禁止当前所记录的协议列表中协议报文卸载
1
ovs-appctl hwoff-flow-agent/set-protolist-mode black
ovs-appctl hwoff-flow-agent/stats
命令格式:
ovs-appctl hwoff-flow-agent/stats
功能描述:
查看flow agent里非错误的统计。
参数说明:
NA
示例:
1 | ovs-appctl hwoff-flow-agent/stats |
ovs-appctl hwoff-flow-agent/use-offloadrx-threshold
命令格式:
ovs-appctl hwoff-flow-agent/use-offloadrx-threshold NUM
功能描述:
设置自动删除卸载流的阈值。
参数说明:
参数 |
是否必选 |
描述 |
---|---|---|
NUM |
是 |
自动删除卸载流的阈值,取值范围1~512 |
示例:
1 | ovs-appctl hwoff-flow-agent/use-offloadrx-threshold 256
|
ovs-appctl hwoff/dump-hwoff-flows
命令格式:
hwoff/dump-hwoff-flows [-m]|[ufid ufid]|[check]|[stop]|[-f file]|[-n]|[-h]
功能描述:
查询硬件流表信息。
参数说明:
参数 |
是否必选 |
描述 |
---|---|---|
ufid hw_ufid |
否 |
根据UFID查询硬件流表信息(UFID格式示例16进制的12345678-12345678) |
-n |
否 |
查看当前已经卸载的硬件流表总条数 |
-f file |
否 |
建议当流表数量超过1000条时,利用该参数将流表dump到指定的文件中(文件路径为绝对路径) 首先利用-n参数确定当前硬件流表总条数 |
check |
否 |
检查当前dump硬件流表到文件中的进度 |
stop |
否 |
强制停止正在dump流表到指定文件的操作 |
-h |
否 |
帮助信息 |
示例:
- 查询当前硬件流表总条数
1
ovs-appctl hwoff/dump-hwoff-flows -n
- 将硬件流表信息输出到标准输出中(建议流表数量少于1000条):
1
ovs-appctl hwoff/dump-hwoff-flows
- 请先使用ovs-appctl hwoff/dump-hwoff-flows -n查看总流表条数。
- 当总流表条数超过1000时,需使用ovs-appctl hwoff/dump-hwoff-flows -f /文件的绝对路径将流表信息dump到文件中查看,否则命令会卡顿很长时间才能返回。反复执行该命令会追加写到文件中,文件大小会持续增长,多次执行时需手动清空文件。
- 输出的流表信息中会包含具体的流表信息(与开源dpctl/dump-flows命令显示的信息一致),其中包含源IP地址、目的IP地址、源Mac地址、目的Mac地址和出端口五元组信息。
- 将硬件流表信息输出到指定文件中
1
ovs-appctl hwoff/dump-hwoff-flows -f /root/test.log
- 根据UFID查询硬件流表信息
1
ovs-appctl hwoff/dump-hwoff-flows ufid 12345678-12345678
- 查看当前dump到指定文件中的进度
1
ovs-appctl hwoff/dump-hwoff-flows check
- 强制停止dump到指定文件操作
1
ovs-appctl hwoff/dump-hwoff-flows stop
ovs-appctl hwoff/shmap-dump-hw
命令格式:
ovs-appctl hwoff/shmap-dump-hw [all | hw_ufid]
功能描述:
查询Host维护的软硬件流表映射关系中,记录的所有硬件流表的UFID。查询对应的硬件流表所关联的软件流表的UFID。
参数说明:
参数 |
是否必选 |
描述 |
---|---|---|
all |
否 |
查询Host维护的软硬件流表映射关系中,记录的所有硬件流表的UFID |
hw_ufid |
否 |
查询指定硬件UFID所关联的软件流表UFID 硬件UFID为16进制xxxxxxxx-xxxxxxxx格式 |
示例:
- 查询Host维护的软硬件流表映射关系中,记录的所有硬件流表的UFID
1
ovs-appctl hwoff/shmap-dump-hw all
- 查询指定硬件UFID 12345678-12345678所关联的软件流表UFID
1
ovs-appctl hwoff/shmap-dump-hw 69e285a3-78f2-4029-9350-82d03e02564f
ovs-appctl hwoff/shmap-dump-sw
命令格式:
ovs-appctl hwoff/shmap-dump-sw [all |sw_ufid type ]
功能描述:
查询Host维护的软硬件流表映射关系中,记录的硬件流表关联的所有软件流表的UFID。查询对应的软件流表UFID、Type所关联的硬件流表的UFID。
参数说明:
参数 |
是否必选 |
描述 |
---|---|---|
all |
否 |
查询Host维护的软硬件流表映射关系中,记录的硬件流表关联的所有软件流表的UFID |
sw_ufid、type |
否 |
查询指定软件UFID和Type所关联的硬件流表UFID 软件UFID格式为16进制:xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxx Type目前有两种选项:0表示Openflow数据面,1表示源地址透传 |
示例:
- 查询Host维护的软硬件流表映射关系中,记录的硬件流表关联的所有软件流表的UFID
1
ovs-appctl hwoff/shmap-dump-sw all
- 查询指定软件UFID和Type所关联的硬件流表UFID
1
ovs-appctl hwoff/shmap-dump-sw e8288d3b-5daa-4815-8b23-2be16662977a 0
ovs-appctl hwoff/shmap-error-stats
命令格式:
ovs-appctl hwoff/shmap-error-stats
功能描述:
查询软硬件流表映射模块的错误统计信息。
参数说明:
NA
示例:
1 | ovs-appctl hwoff/shmap-error-stats |
ovs-appctl hwoff/shmap-flush
命令格式:
ovs-appctl hwoff/shmap-flush
功能描述:
清空当前shmap所记录的软硬件流表映射关系。
参数说明:
NA
示例:
1 | ovs-appctl hwoff/shmap-flush |