在mininet-dashboard中处理流量记录

时间:2018-04-22 12:25:07

标签: mininet

我正在尝试检测mininet-dashboard中的流记录。 Elephant.js文件:

setFlow('pair',
{'keys':'inputifindex,ipsource,ipdestination','value':'bytes','log':'true','activeTimeout':'2'});

setThreshold('elephant',
 {'metric':'pair','value':1000000/8,'byFlow':true,'timeout':1});

setEventHandler(function(evt) {
 var [inputifindex,ipsource,ipdestination] = evt.flowKey.split(',');
 var {node,port} = topologyInterfaceToPort(evt.agent,inputifindex);
 logInfo(port + " " + ipsource + " " + ipdestination);
},['elephant']);

setFlowHandler(function(flow) {
  logInfo(JSON.stringify(flow));
});

但是当我运行iperf h1 h2时,我没有在控制台中获得有关流量的任何信息。但我在mininet-dashboard app中看到了这个流程。如何正确获取有关流的信息并登录到控制台?

我的拓扑:

sudo mn --custom extras/sflow.py --topo tree,depth=1,fanout=2 --controller remote --switch ovsk,protocols=OpenFlow13

1 个答案:

答案 0 :(得分:1)

你是怎样的defining flows?您需要在流定义中设置 log = true 才能生成流记录。此外,在收到流记录之前设置 activeTimeout 以限制延迟,或者如果您想立即通知并且不关心流程,请设置 flowStart = true 反价值。