ovs 调试命令
Posted fsz304203330
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ovs 调试命令相关的知识,希望对你有一定的参考价值。
一、ovs-appctl 用于查询和管理ovs daemon
ovs-appctl exit //优雅关闭ovs-vswitchd进程
ovs-appctl dpif/show //查询桥信息,其中
ovs-appctl dpif/show //其中“/”左边是datapath端口号,右边是openflow端口号(右边是实际报文转发的内部唯一端口号,分析数据转发要使用datapath的端口号)
//查询端口debug一般用这个命令得到datapath的端口号,和缓存流表来分析实际转发情况
br-tap0:
br-tap0 65534/4: (hnic)
hnic0 1/7: (hnic)
hnic1 1/78: (hnic)
p-tap0-int 4/none: (patch: peer=p-tap0)
tap0 3/13: (virtio)
ovs-appctl coverage/show //查看函数调用统计 (coverage这里指覆盖率,测试代码覆盖率)
//这个命令管理ovs−vswitchd的“coverage counters”,即在守护进程运行期间发生的特殊事件的次数。原理是代码里计数器统计单位时间函数调用次数
//除了使用这个命令意外,当ovs−vswitchd检测到主循环运行周期异常长的时候,会自动以INFO的日志等级记录coverage counters。 主要用于性能分析和debugging。
ovs-ofctl dump-flows br-int //slowpath 用户态流表统计
ovs-appctl dpif/dump-flows br-int |wc -l //fastpath 内核态流表统计 (这个流表的数量太多会引起流表膨胀问题)
top -n 1 -H -p `cat /var/run/openvswitch/ovs-vswitchd.pid` //统计ovs相关线程cpu使用情况
ovs-appctl upcall/set-flow-limit 10000 //设置fastpath缓存流表上限
ovs-appctl memory/show //ovs handler线程和revalidator线程数量统计,端口数量统计, rules规则统计; 可以用来查看 handler和revalidator线程数量;
//显示一些ovs-vswitchd内存使用的基础状态信息 资料说是显示这个,但实际不是
ovs-appctl dpif-netdev/show/pmd-stats-show |grep miss //查询缓存流表命中情况(用户态datapath dpdk情况下命令)
ovs-appctl dpctl/dump-conntrack //查看连接跟踪状态
ovs-appctl ofproto/trace //可以用来生成测试用的模拟数据包,并一步步的展示 OVS 对数据包的流处理过程。(这个回头看一下)
----------------------------------------------------------------------------------------------------------
二、ovs-ofctl openflow协议命令,用于管理OpenFlow switch 的 flow
ovs-ofctl dump-flows //查看openflow流表,用户态流表。
###一般看用户态流表使用这个命令
ovs-ofctl dump-ports switch-name //输出交换机的端口统计信息,包括收发包、丢包、错误包等数量。
ovs-ofctl show switch-name //输出交换机信息,包括其流量表和端口信息。
-----------------------------------------------------------------------------------------------------------
三、ovs-vsctl 用于控制ovs db,查询和更新 ovs-vswitchd 的配置
ovs-vsctl show :显示主机上已有的网桥及端口信息。
ovs-vsctl add-br br0:添加网桥 br0。
-----------------------------------------------------------------------------------------------------------
四、ovs-dpctl 用来管理ovs的datapath
ovs-dpctl show :显示所有 datapath 的基本信息。
ovs-dpctl dump-dps :显示所有 datapath 的名字。
ovs-dpctl dump-flows DP :显示一条 datapath DP 上的流信息。
以上是关于ovs 调试命令的主要内容,如果未能解决你的问题,请参考以下文章
iSensor APP 之 摄像头调试 OV3640 OV2640 MT9d112