我正在研究opendaylight,我在文档的任何部分都找不到的一件事是如何获取交换机的Dpid(交换机称为openflow:1,openflow:2等)通过opendaylight提供的URL来从控制器中的拓扑中获取信息。
所以我的问题是,如果opendaylight的数据存储区实际存储了交换机的这些信息(DatapathID' s),以及是否有使用控制器提供的URL获取这些dpids的方法。
答案 0 :(得分:0)
您可以在节点上使用DCN获取dpId,并从操作DataStore的库存中读取另一种方式。 DCN的示例是here line (81)。您可以找到MDSALUtil.getDpnIdFromNodeName
here(along with few otherways)的方法定义。
答案 1 :(得分:0)
您也可以从restconf中检索DPID。所以GET:
http://${ODL_IP}:8181/restconf/operational/opendaylight-inventory:nodes
你会得到一个响应,如:
{"nodes":{"node":[{"id":"openflow:82225698597705"
请注意,长字符串只是mac地址的十进制转换 (4a:c8:a9:8e:6b:49在这种情况下)
在您阅读的文档中,使用openflow:1,等等 来自使用mac的网络模拟工具“mininet” 解决这个问题(例如00:00:00:00:00:01)