如何将 Opendaylight 连接到 Mininet?

How to connect Opendaylight to Mininet?

我一直在一个简单的 Hello World 项目中工作,以学习 Opendaylight 的基础知识(我一直在关注这个 tutorial)。

现在我想将这个控制器版本连接到 Mininet 定义的网络拓扑,但这不起作用。我读到这可能是因为我没有安装 odl-l2switch,但是当我输入 feature:list --installed 时,捆绑包没有出现,当我输入 feature:install odl-l2switch 时,它也没有出现。

可能是因为我创建项目的方式:

mvn archetype:generate -DarchetypeGroupId=org.opendaylight.controller -DarchetypeArtifactId=opendaylight-startup-archetype -DarchetypeRepository=https://nexus.opendaylight.org/content/repositories/public/ -DarchetypeCatalog=remote -DarchetypeVersion=1.2.2-Boron-SR2

这很奇怪,因为我下载了 Carbon 发行版并且我可以将此发行版与 Mininet 连接并且它可以工作。最初我打算在最新的发行版 Carbon 中构建 hello 项目,但它没有用,所以我在 Boron 发行版中构建了 Hello-World。

谁能帮帮我?

这是我的Github repository

this link之后,生成ODL应用程序的命令是:

mvn archetype:generate -DarchetypeGroupId=org.opendaylight.controller 
-DarchetypeArtifactId=opendaylight-startup-archetype \
-DarchetypeRepository=http://nexus.opendaylight.org/content/repositories/<Snapshot-Type>/ \
-DarchetypeCatalog=remote -DarchetypeVersion=<Archetype-Version>

你必须替换如下正确的和:

  • 对于当前的 Master (Carbon) 使用 Snapshot-Type=opendaylight.snapshot Archetype-Version=1.4.0-SNAPSHOT
  • Carbon 快照使用 Snapshot-Type=opendaylight.release Archetype-Version=1.3.0-Carbon
  • 对于 Boron "SR0" 使用 Snapshot-Type=opendaylight.release Archetype-Version=1.2.0-Boron
  • 对于 Boron SR1 使用 Snapshot-Type=opendaylight.release Archetype-Version=1.2.1-Boron-SR1
  • 对于 Boron SR2 使用 Snapshot-Type=opendaylight.release Archetype-Version=1.2.2-Boron-SR2
  • 对于 Boron 快照,使用 Snapshot-Type=opendaylight.snapshot Archetype-Version=1.2.2-SNAPSHOT

您使用的命令使用1.2.2-Boron-SR2作为,但是您使用public,这是不合适的。将 public 替换为 opendaylight.release,如上 link 所建议的那样。

当您 运行 您的 ODL 发行版时,您拥有所有可以随时安装的 ODL 项目。要连接 mininet,您必须安装 odl-l2switch-all 功能。

在简单的 Hello 项目中,您没有要安装的 l2switch 功能。这就是为什么你无法连接。无论如何,您可以通过在 Features/pom.xml 和 features.xml 中添加 l2switch 依赖项来安装 l2switch 功能。您必须添加相同的 odl 版本 l2switch.Be 小心。

请检查feature:list | grep "l2switch" 是否可用。如果是这样,请安装它并启动 mininet!您现在完成了!