Floodlight开发者文档译文.docx
- 文档编号:3233246
- 上传时间:2022-11-20
- 格式:DOCX
- 页数:103
- 大小:245.11KB
Floodlight开发者文档译文.docx
《Floodlight开发者文档译文.docx》由会员分享,可在线阅读,更多相关《Floodlight开发者文档译文.docx(103页珍藏版)》请在冰豆网上搜索。
Floodlight开发者文档译文
05:
18:
41.591INFO[n.f.c.m.FloodlightModuleLoader:
main]Loadingdefaultmodules
05:
18:
44.867INFO[n.f.c.i.Controller:
main]ControllerrolesettoMASTER
05:
18:
44.881INFO[n.f.c.i.Controller:
main]Flushswitchesonreconnect--Disabled
05:
18:
51.513INFO[n.f.l.i.LinkDiscoveryManager:
main]SettingautoportfastfeaturetoOFF
05:
18:
53.839INFO[o.s.s.i.c.FallbackCCProvider:
main]Clusternotyetconfigured;usingfallbacklocalconfiguration
05:
18:
53.840INFO[o.s.s.i.SyncManager:
main][32767]UpdatingsyncconfigurationClusterConfig[allNodes={32767=Node[hostname=localhost,port=6642,nodeId=32767,domainId=32767]},authScheme=CHALLENGE_RESPONSE,keyStorePath=/etc/floodlight/auth_credentials.jceks,keyStorePasswordisunset]
05:
18:
55.020INFO[o.s.s.i.r.RPCService:
main]ListeningforinternalfloodlightRPConlocalhost/127.0.0.1:
6642
05:
18:
56.332INFO[n.f.c.i.Controller:
main]Listeningforswitchconnectionson0.0.0.0/0.0.0.0:
6633
05:
19:
03.787INFO[n.f.j.JythonServer:
debugserver-main]StartingDebugServeron:
6655
package.floodlightcontroller.mactracker;
importjava.util.Collection;
importjava.util.Map;
importorg.openflow.protocol.OFMessage;
importorg.openflow.protocol.OFType;
importnet.floodlightcontroller.core.FloodlightContext;
importnet.floodlightcontroller.core.IOFMessageListener;
importnet.floodlightcontroller.core.IOFSwitch;
importnet.floodlightcontroller.core.module.FloodlightModuleContext;
importnet.floodlightcontroller.core.module.FloodlightModuleException;
importnet.floodlightcontroller.core.module.IFloodlightModule;
importnet.floodlightcontroller.core.module.IFloodlightService;
importnet.floodlightcontroller.core.IFloodlightProviderService;
importjava.util.ArrayList;
importjava.util.concurrent.ConcurrentSkipListSet;
importjava.util.Set;
importnet.floodlightcontroller.packet.Ethernet;
importorg.openflow.util.HexString;
importorg.slf4j.Logger;
importorg.slf4j.LoggerFactory;
publicclassMACTrackerimplementsIOFMessageListener,IFloodlightModule{
protectedIFloodlightProviderServicefloodlightProvider;
protectedSetmacAddresses;
protectedstaticLoggerlogger;
@Override
publicStringgetName(){
//TODOAuto-generatedmethodstub
returnMACTracker.class.getSimpleName();
}
@Override
publicbooleanisCallbackOrderingPrereq(OFTypetype,Stringname){
//TODOAuto-generatedmethodstub
returnfalse;
}
@Override
publicbooleanisCallbackOrderingPostreq(OFTypetype,Stringname){
//TODOAuto-generatedmethodstub
returnfalse;
}
@Override
publicCollection extendsIFloodlightService>>getModuleServices(){ //TODOAuto-generatedmethodstub returnnull; } @Override publicMap extendsIFloodlightService>,IFloodlightService>getServiceImpls(){ //TODOAuto-generatedmethodstub returnnull; } @Override publicCollection extendsIFloodlightService>>getModuleDependencies(){ Collection extendsIFloodlightService>>l= newArrayList extendsIFloodlightService>>(); l.add(IFloodlightProviderService.class); returnl; } @Override publicvoidinit(FloodlightModuleContextcontext) throwsFloodlightModuleException{ //TODOAuto-generatedmethodstub floodlightProvider=context.getServiceImpl(IFloodlightProviderService.class); macAddresses=newConcurrentSkipListSet logger=LoggerFactory.getLogger(MACTracker.class); } @Override publicvoidstartUp(FloodlightModuleContextcontext) throwsFloodlightModuleException{ //TODOAuto-generatedmethodstub floodlightProvider.addOFMessageListener(OFType.PACKET_IN,this); } @Override publicnet.floodlightcontroller.core.IListener.Commandreceive( IOFSwitchsw,OFMessagemsg,FloodlightContextcntx){ //TODOAuto-generatedmethodstub Etherneteth= IFloodlightProviderService.bcStore.get(cntx, IFloodlightProviderService.CONTEXT_PI_PAYLOAD); LongsourceMACHash=Ethernet.toLong(eth.getSourceMACAddress()); if(! macAddresses.contains(sourceMACHash)){ macAddresses.add(sourceMACHash); logger.info("MACAddress: {}seenonswitch: {}", HexString.toHexString(sourceMACHash), sw.getId()); } returnCommand.CONTINUE; } } 架构 Floodlight不仅仅是一个支持OpenFLow协议的控制器(FloodlightCOntroller),也是一个基于Floodlight控制器的应用集。 当用户在OpenFLow网络上运行各种应用程序的时候,Floodlight控制器实现了对OpenFLow网络的监控和查询功能。 图0.0显示了Floodlight不同模块之间的关系,这些应用程序构建成java模块,和Floodlight一起编译。 同时这些应用程序都是基于RESTAPI的。 开始 安装指导 概述 基于Java的Floodlight可以用标准jak工具或ant编译运行,当然也可以有选择性的在Eclipse上运行。 准备工作 Linux: ●Ubuntu10.04(Natty)及以上版本(运行Ant1.8.1及以下版本) ●安装JDK,Ant。 (可在eclipse上安装) $sudoapt-getinstallbuild-essentialdefaultantpython-deveclipse Mac ●Mac系统x10.6及以上版本(低版本未测试) ●Cxode4.1或Xcode4.0.2 ●JDK: 只需要在终端输入命令: ‘javac’便可安装 ●Eclipse(非必须) 下载编译 从Github下载并比编译Floodlight $gitclonegit: // $cdfloodlight $ant 运行Flo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Floodlight 开发者 文档 译文