python自定义mininet拓扑
前言
闲来无聊,想到很早之前都是用GUI来自定义拓扑,这次用python来自定义一下(以前留下的苦果)
转自
过程相对简单
实现过程
三个函数
- 增加主机
addHost('hostname')
- 增加交换机
addSwitch('switchname')
- 增加链路
addLink(node1,node2,node1_port,node2_port)
那我们就建一个哑铃型拓扑吧
from mininet.topo import Topoclass MyTopo(Topo): def __init__(self): # initilaize topology Topo.__init__(self) # add hosts and switches host1 = self.addHost('h1') host2 = self.addHost('h2') host3 = self.addHost('h3') host4 = self.addHost('h4') switch1 = self.addSwitch('s1') switch2 = self.addSwitch('s2') # add links self.addLink(host1, switch1, 1, 1) self.addLink(host2, switch1, 1, 2) self.addLink(host3, switch2, 1, 1) self.addLink(host4, switch2, 1, 2) topos = {'mytopo': (lambda: MyTopo())}
在对应文件的目录下执行
sudo mn --custom mininet_topo.py --topo mytopo
当然还可以执行mininet一些指定的参数,比如 指定OpenFlow版本 protocols=OpenFlow13
,连接远端控制器 --controller remote