我们在使用ryu控制器的时候经常希望可以同步地获取openflow的信息,而ryu/app/ofctl文件夹下的api.py文件就为我们提供了这样一个方便的途径。
当然最方便的获取和更新交换机状态的方法当然是使用REST API接口,我将会在下一篇博客中写到,关于这部分之前也有不少小伙伴写过,可以参考李呈同学的博客http://www.sdnlab.com/11552.html。
1.如何启动
如果你启动的app中已经导入了ryu.app.ofctl.api,那么在app启动的时候已经将ofctl.api模块导入。如果启动的app中没有导入它那么需要在启动的app文件中添加并编写,具体见2中的使用例子。
import ryu.app.ofctl.api
2.api模块
(附源码)
源码中定义了两个方法,其中一个是get_datapath,它有两个参数分别为:app和dpid,其中app为客户机中运行的app实例,dpid是其中一条datapath的id号(为整数)。另一个方法是send_msg,它的参数有四个分别为:app、msg、reply_cls、reply_multi,其中app为客户机中运行的app实例,msg是要发送的openflow controller-to-switch类型的消息,reply_cls是希望