floodlight 添加mactracker模块并用python过滤出mac地址

来源:互联网 发布:淘宝客服怎么分流 编辑:程序博客网 时间:2024/04/30 18:56

(1)按着developer文档添加mactacker模块,并按文档修改属性文件

文档地址:http://docs.projectfloodlight.org/display/floodlightcontroller/How+to+Write+a+Module

该模块的功能是将新的mac地址输出到console,但是console消息比较多,而且跳的比较快,很难去查找该logger消息,因此这里将console消息用python过滤出来,得到拓扑中链接各交换机的mac地址

在receive方法中打印消息logger.info中添加自己的id

logger.info("Zodiac: MAC Address:{} seen on switch:{}",HexString.toHexString(sourceMACHash),sw.getId());
便于消息提取


这里要设置一下eclipse 里console,

在window->preperences->Run/Debug->console 中,把'show when program writes to standard out'的勾去掉

这样console消息缓存就不受限制。


(2)运行floodlight和mininet 

这里我还是使用上一篇2sw-4host的拓扑,运行构建拓扑命令

将console 内容复制到 logger.txt

运行python代码:

filename1="logger.txt"filename2="mac.txt"f1=open(filename1,'r')f2=open(filename2,'w')for line in f1.readlines():if 'Zodiac' in line:pos=line.find("Zodiac")f2.write(line[pos+8:])


打开mac.txt可以看到对应上面构建的拓扑的各交换机端口上host或者switch的mac地址

MAC Address:00:00:1e:8c:5f:a3:89:8a seen on switch:3MAC Address:00:00:1e:a3:d0:c3:e9:39 seen on switch:4MAC Address:00:00:5a:36:f3:c7:c1:cd seen on switch:4MAC Address:00:00:46:b8:8f:69:a5:8d seen on switch:3MAC Address:00:00:0e:05:4e:99:da:db seen on switch:4MAC Address:00:00:16:a1:1d:41:0f:ed seen on switch:3

这里对比一下floodlight 的web ui


这是四个host的mac地址,其余两个mac是交换机的mac地址。



0 0
原创粉丝点击