SDN Python编程创建多数据中心网络
首先开启 Open Daylight
cd /home/ubuntu/karaf-0.7.1/bin/
./karaf
新开一个终端执行以下操作
在 /home/ubuntu/mininet/examples
目录下新建一个 sdn4.py
文件
输入以下代码
from mininet.topo import Topo
class MyTopo(Topo):
def __init__(self):
Topo.__init__(self)
# Add switches
cores = [self.addSwitch('c%d' % (i)) for i in range(1, 3)]
aggregations = [self.addSwitch('a%d' % (i)) for i in range(3, 7)]
edges = [self.addSwitch('e%d' % (i)) for i in range(7, 15)]
# Add links
for core in cores:
for aggregation in aggregations:
self.addLink(core, aggregation)
for i in range(2):
for j in range(4):
self.addLink(aggregations[i], edges[i*4+j])
for i in range(1, 17, 2):
self.addLink(edges[(i-1)//2], self.addHost('h%d' % (i)))
self.addLink(edges[(i-1)//2], self.addHost('h%d' % (i+1)))
topos = {'mytopo': (lambda: MyTopo())}
执行
mn --custom sdn4.py --topo mytopo --controller=remote