在我的理解中,dpctl dump-flows命令只帮助查看流表的当前状态。流表经常被刷新。我想记录流表条目。
我需要查看哪个类来记录流量表?我正在使用安装在Virtual Box中的Ubuntu上的POX控制器和mininet。
发布于 2018-05-07 16:18:44
考虑使用s2作为开关,您可以使用以下命令记录流量表(-O OpenFlow13是可选的):
sh ovs-ofctl dump-flows s2 -O OpenFlow13 > exampleLog.txt如果您在s2中有规则,结果将是:
mininet@mininet-vm:~/mininet$ cat exampleLog.txt
OFPST_FLOW reply (OF1.3) (xid=0x2):
cookie=0x170000000000000, duration=9.458s, table=0, n_packets=6, n_bytes=588, priority=10,ip,in_port=1,nw_src=10.0.0.1,nw_dst=10.0.0.6 actions=output:4
cookie=0x170000001000000, duration=8.556s, table=0, n_packets=5, n_bytes=490, priority=10,ip,in_port=4,nw_src=10.0.0.6,nw_dst=10.0.0.1 actions=output:1
cookie=0x0, duration=42.627s, table=0, n_packets=20, n_bytes=1368, priority=0 actions=CONTROLLER:65535发布于 2018-05-05 02:07:50
要记录被刷新的流,您可以使用OFPFF_SEND_FLOW_REM字段available,该字段可以在设置流操作时由控制器设置。根据openflow规范:
当通过控制器或流过期机制删除流条目时,交换机必须检查流条目的OFPFF_SEND_FLOW_REM标志。如果设置了此标志,则交换机必须向控制器发送流移除消息。每个流删除消息包含流条目、删除原因(过期或删除)、删除时的流条目持续时间和删除时的流统计信息的完整描述。
我不确定POX中的确切实现,但当与ovs-ofctl dump-flows结合使用时,这可能是一种不错的方法
https://stackoverflow.com/questions/49054734
复制相似问题