【问题标题】:Automatic add flow to ovs switch that connected to docker hosts自动将流添加到连接到 docker 主机的 ovs 交换机
【发布时间】:2018-09-12 12:31:43
【问题描述】:

我正在创建以 OVS 和 docker 容器为主机的 SDN 拓扑。我的示例拓扑是:一个 ovs 交换机和 2 个主机(docker 容器)连接到它。

HOST1 (container1) OVS HOST2 (container2)

首先我启动我的 opendaylight 控制器并通过“ovs-vsctl set-controller s1 tcp:ip:port”将我的 ovs 开关连接到它,然后我使用“”运行 2 个 docker 容器docker run -dit --net=none --name host1 ubuntu:16.04 /bin/bash" 然后我使用 "ovs-docker" 命令将我的容器连接到 ovs。我可以看到我的开关出现在 opendaylight dlux 上,但我无法从一个容器 ping 到另一个容器。问题是odl不会自动更新流表 这是“ovs-ofctl dump-flows s1”输出

cookie=0x2b00000000000001, duration=2494.398s, table=0, n_packets=0, n_bytes=0, idle_age=2494, priority=100,dl_type=0x88cc actions=CONTROLLER:65535 cookie=0x2b00000000000001, duration=2494.387s, table=0, n_packets=18, n_bytes=756, idle_age=665, priority=0 actions=drop

但是当我再次重新启动控制器时,一切正常,流被添加到我的 ovs 开关,我可以从一个容器 ping 到另一个容器。

cookie=0x2b00000000000000, duration=3.087s, table=0, n_packets=0, n_bytes=0, idle_age=3, priority=2,in_port=1 actions=output:2,CONTROLLER:65535 cookie=0x2b00000000000001, duration=3.087s, table=0, n_packets=0, n_bytes=0, idle_age=3, priority=2,in_port=2 actions=output:1,CONTROLLER:65535 cookie=0x2b00000000000001, duration=2919.471s, table=0, n_packets=0, n_bytes=0, idle_age=2919, priority=100,dl_type=0x88cc actions=CONTROLLER:65535 cookie=0x2b00000000000001, duration=2919.46s, table=0, n_packets=18, n_bytes=756, idle_age=1090, priority=0 actions=drop

我知道我可以通过 openflow pluing rest api 将流推送到流表,但假设您有太多端口(主机)连接到交换机,您必须一一发送流条目。那么有没有办法向 Opendaylight 控制器发送事件以使其自动更新开关流表?

【问题讨论】:

  • 您在这里使用 l2switch 功能吗?我只是想知道谁在重新启动时对您的流程进行编程?
  • 是的,我正在使用 l2switch 功能......但我认为它不会触发,直到我重新启动控制器或在开关上再次设置控制器(ovs-vsctl set-controller)。在重新启动控制器或再次设置控制器后,一切正常,,,

标签: docker opendaylight openflow openvswitch


【解决方案1】:

我解决了这个问题,它看起来像 l2switch 功能在它的 Address Tracker 上有 timestamp-update-interval,默认设置为 600000,所以在减少这个值之后(设置为 5),ODL 控制器将流程推送到交换机...这里有完整的文档,可以帮助您开始... https://wiki.opendaylight.org/view/OpenDaylight_Controller:MD-SAL:L2_Switch

【讨论】:

    【解决方案2】:

    我怀疑您在 l2switch 项目中遇到了错误。这是一个列表 open issues 的您可以浏览,但通常是 l2switch 项目 维护得很少,只要你有一个有效的解决方法,我会 随它去吧:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多