如何在mininet中确定端口号?

如何在mininet中确定端口号?,mininet,openflow,Mininet,Openflow,我有一个类似下图的网络 这是网络的python代码: net.addLink(s1, s2) net.addLink(s2, s3) net.addLink(s3, s4) net.addLink(s4, s1) net.addLink(s1, h1) net.addLink(s3, h2) 如何查找流量表并将其添加到网络中 例如,下面是一个流表条目。in_端口如何确定为1,输出如何确定为3 ovs-ofctl add-flow s1 in_port=1,actions=output:3

我有一个类似下图的网络

这是网络的python代码:

net.addLink(s1, s2)
net.addLink(s2, s3)
net.addLink(s3, s4)
net.addLink(s4, s1)

net.addLink(s1, h1)
net.addLink(s3, h2)
如何查找流量表并将其添加到网络中

例如,下面是一个流表条目。in_端口如何确定为1,输出如何确定为3

ovs-ofctl add-flow s1 in_port=1,actions=output:3

我很难理解端口号是如何确定的

mininet>
提示符下尝试
net
获取拓扑详细信息:

$ sudo mn
*** No default OpenFlow controller found for default switch!
*** Falling back to OVS Bridge
*** Creating network
*** Adding controller
*** Adding hosts:
h1 h2 
*** Adding switches:
s1 
*** Adding links:
(h1, s1) (h2, s1) 
*** Configuring hosts
h1 h2 
*** Starting controller

*** Starting 1 switches
s1 ...
*** Starting CLI:
mininet> net
h1 h1-eth0:s1-eth1
h2 h2-eth0:s1-eth2
s1 lo:  s1-eth1:h1-eth0 s1-eth2:h2-eth0
mininet> 
eth*
表示
*
端口

检查mininet addLink API:
还有其他参数可以指定每侧链路的端口号
类似这样的内容:

addLink(s1, s2, 1, 2)
addLink(s2, h2, 5, 6)
这将导致链路和端口的以下输出:

mininet> links
s1-eth1<->s2-eth2 (OK OK)
s2-eth5<->h2-eth6 (OK OK)
mininet> ports
s1 lo:0 s1-eth1:1 
s2 lo:0 s2-eth2:2 s2-eth5:5 
mininet>链接
s1-eth1s2-eth2(正常)
s2-eth5h2-eth6(正常)
mininet>端口
s1 lo:0 s1-eth1:1
s2 lo:0 s2-eth2:2 s2-eth5:5