FloodLight添加模块和增加自己的REST API

FloodLight添加模块和增加自己的REST API

ubuntu16.04 + floodlight 1.2

一、新增模块(可以参考现有的类,主要是不要忘记修改配置文件)

STEP 1:
创建服务接口,继承IFloodlightService类
STEP 2:
创建服务实现模块类,实现IFloodlightModule和其对应的服务接口
STEP 3:
模块类getModuleServices函数,添加其实现的服务接口
STEP 4:
模块类getServiceImpls,实现服务接口,到该类的map映射
STEP 5:
模块类getModuleDependencies,添加该模块类实现的依赖服务
STEP 6:
模块类init,从上下文获得依赖服务
STEP 7:
模块类startUp,模块启动内容。
STEP 8:
src/resource中修改配置文件
(1)META-INF/services/net.floodlightcontroller.core.module.IFloodlightModule
(2)floodlightdefault.properties
2个文件中都添加新加的模块类

二、REST API使用

官方文档地址

与REST API相关的包和类:
(1)serizlizers 主要是控制输出
(2)web包中的:
    Resource结尾的类:
        主要用于REST 风格请求的实际处理
	Routable结尾的类:
	    主要用于给指定路径的请求分配对应的Resource处理。
	    
使用举例:
(1)在某个Resource类中新增POST:
    1)新建方法
    2)为方法添加@Post注解
    3)实现方法
(2)对应的WebRoutable类中添加了专门为了指标约束路径算法请求服务的请求和实现绑定
   router.attach("路径", 某个Resource.class); 
(3)curl请求
curl -X POST -d json对象 http://localhost:8080/wm/模块/路径

三、开启一些额外的功能,比如收集信息

在src/resources/floodlightdefault.propertiess中修改支持
net.floodlightcontroller.statistics.StatisticsCollector.enable=TRUE

猜你喜欢

转载自blog.csdn.net/daihanglai7622/article/details/88933935