【问题标题】:How to get dpid of a switch from the xterm of a host in mininet?如何从 mininet 中主机的 xterm 获取交换机的 dpid?
【发布时间】:2020-05-31 00:18:30
【问题描述】:

我在 mininet 中创建了一个拓扑。我想使用 xterm 或 mininet 的 python API 从它连接的主机获取交换机的 dpid 或名称。我在谷歌上查了一下,但没有找到任何东西。

提前致谢。

【问题讨论】:

    标签: networking network-programming sdn mininet


    【解决方案1】:

    从 Mininet CLI,您可以:

    py net.getNodeByName("s1").dpid
    

    例子:

    root@raspberrypi:~# mn
    *** Creating network
    *** Adding controller
    *** Adding hosts:
    h1 h2
    *** Adding switches:
    s1
    *** Adding links:
    (h1, s1) (h2, s1)
    *** Configuring hosts
    h1 h2
    *** Starting controller
    c0
    *** Starting 1 switches
    s1 ...
    *** Starting CLI:
    mininet> py net.getNodeByName("s1").dpid
    0000000000000001
    mininet>
    

    来自官方documentation中解释的python API

    print(switch_node.dpid)
    

    或者您可以直接在您的主机中查看或使用 xterm 与:

    bash -c 'ovs-ofctl show s1|grep dpid'
    

    【讨论】:

    • 如果没有任何信息 xterm 可以获取 switchID。也许像过滤掉 cmd("links") 结果,然后找到当前主机连接的适当交换机。
    • 从 xterm 你应该能够看到开关使用:ovs-vsctl list-br 来获得开关列表,而不是你可以使用 ovs-ofctl show SWITCH_NAME 来检查 dpid
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多