mininet中的端口号是如何确定的?

Jey*_*nam 5 openflow mininet

我有一个类似于下图所示的网络。

我的样本迷你网

这是网络的 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)
Run Code Online (Sandbox Code Playgroud)

我将如何查找流表并将其添加到网络中?

例如下面是流表条目之一。如何确定 in_port 为 1,output 确定为 3?

ovs-ofctl add-flow s1 in_port=1,actions=output:3
Run Code Online (Sandbox Code Playgroud)

我无法理解端口号是如何确定的。

gil*_*lwo 5

在此处检查Mininet“addLink”API :
\n\xe2\x80\x83 addLink (self, node1, node2, port1=None, port2=None, cls=None, **params)
\n\xe2\x80\x83 还有其他参数可以指定每一侧链接的端口号

\n

像这样的东西:

\n
addLink(s1, s2, port1=1, port2=2)\naddLink(s2, h2, port1=5, port2=6)\n
Run Code Online (Sandbox Code Playgroud)\n

这将导致links和的输出如下ports

\n
mininet> links\ns1-eth1<->s2-eth2 (OK OK)\ns2-eth5<->h2-eth6 (OK OK)\nmininet> ports\ns1 lo:0 s1-eth1:1 \ns2 lo:0 s2-eth2:2 s2-eth5:5 \n
Run Code Online (Sandbox Code Playgroud)\n


sin*_*ash 2

尝试netmininet>提示时获取拓扑详细信息:

$ 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> 
Run Code Online (Sandbox Code Playgroud)

eth*表示*端口