Ryu:将datapath转换为切换IP地址

时间:2015-06-29 08:48:41

标签: ryu

目前,我正在开源OpenFlow控制器Ryu之上编写应用程序。

要创建OF-Config连接(或OVSDB连接),我想我必须获取连接到Ryu控制器的每个交换机的IP地址。但是,我找不到将Datapath对象或datapath id转换为交换机IP地址的API。

所以,如果有这样的API,我想知道它。如果没有,我期待收到一些关于如何在没有IP地址的情况下建立连接的评论。

2 个答案:

答案 0 :(得分:1)

Byungjoon你在用mininet吗?

如果是,所有交换机都使用localhost ip地址进行实例化(这是mininet的默认行为)。控制器使用tcp端口区分交换机。

据我所知,您只需知道交换机的dpid即可发送OF消息。这就是示例l2学习开关正在做的事情:https://github.com/osrg/ryu/blob/master/ryu/app/simple_switch_13.py

我也尝试使用Ryu控制器与交换机通信。我使用上面的示例作为我的基本代码并添加它。它还没有完成(所以你可能会看到一些错误),但这是一个很好的起点。这是链接:https://github.com/Ehsan70/RyuApps/blob/master/l2.py

答案 1 :(得分:0)

对于最新版本的ryu,您应该使用以下代码。

@set_ev_cls(ofp_event.EventOFPSwitchFeatures, CONFIG_DISPATCHER)
def _switch_features_handler(self, ev):
    print(ev.msg.datapath.address)