首页 > 编程语言 >SDN Python编程创建多数据中心网络

SDN Python编程创建多数据中心网络

时间:2023-05-04 16:37:09浏览次数:44  
标签:__ 数据中心 Python self -- range edges SDN addLink

首先开启 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

image

标签:__,数据中心,Python,self,--,range,edges,SDN,addLink
From: https://www.cnblogs.com/huanfei/p/17371632.html

相关文章

  • python 迭代器和推导式的不同处
    迭代器和推导式都是在Python中用于处理可迭代对象的机制,但它们之间有一些关键区别。返回值类型不同:推导式返回一个新的数据结构(列表、集合、字典等),而迭代器返回一个迭代器对象。推导式生成的是一个新的序列或集合,而迭代器则是逐个生成元素。实现方式不同:推导式是一种高级语......
  • Python时间模块time
    时间模块-time#time()获取本地时间戳#ctime()获取本地时间字符串(参数是时间戳,默认当前)#localtime()获取本地时间元组(参数是时间戳,默认当前)#mktime()通过时间元组获取时间戳(参数是时间元组)#asctime()通过时间元组获取时......
  • python 推导式
    在Python中,列表推导式、字典推导式和集合推导式都是常见的推导式。它们可以让我们使用一种简洁而强大的语法来快速创建新的序列或映射数据类型。列表推导式列表推导式是最常见的一种推导式,用于通过对一个序列中的每个元素应用一个表达式来快速生成一个新的列表。列表推导式的......
  • python-Gradio 机器学习演示库
    python-GradioGradio是一个开源的Python库,用于构建机器学习和数据科学演示应用。有了Gradio,你可以围绕你的机器学习模型或数据科学工作流程快速创建一个简单漂亮的用户界面。Gradio适用于以下情况:为客户/合作者/用户/学生演示你的机器学习模型。通过自动共享链接快速部署你的......
  • python 列表拼接拓展
    #-*-coding:utf-8-*-#列表例存放字节类型数据bytes_list=[b'1',b'2',b'3']#列表里存放字符串类型数据str_list=['1','2','3']#列表里存放混合类型数据(字符串,字节,int)mix_list=[b'1','2','3&#......
  • Python网页应用开发神器fac 0.2.6版本重要新功能一览
    fac项目地址:https://github.com/CNFeffery/feffery-antd-components,欢迎star支持大家好我是费老师,距离我的开源Python网页应用通用组件库fac的0.2.0版本发布已过去半个多月的时间,在国内外众多fac用户的反馈建议下,经过高强度的优化和功能更新,目前fac已经更新到0.2.6版本,且......
  • Python报错:Can't connect to HTTPS URL because the SSL module is not available
    参考文章:(32条消息)Can‘tconnecttoHTTPSURLbecausetheSSLmoduleisnotavailable-关于anaconda中的SSL模块错误_anacondahttps报错_Sky_Tree_Delivery的博客-CSDN博客具体操作:将以下文件移动位置D:\Anaconda\Library\bin->D:\Anaconda\DLLs(此处D盘为我自己的安......
  • SDN 编写Python脚本创建自定义网络拓扑
    编写Python脚本创建自定义网络拓扑,包括5台交换机5台主机frommininet.topoimportTopoclassRingTopo(Topo):def__init__(self):Topo.__init__(self)#Createswitchess_num=5h_num=5switches=[]hosts......
  • python11:局部变量与全局变量
    局部变量:在函数内部定义的变量,作用域仅仅局限在函数的内部。不同的函数可以定义相同的局部变量,但是各自用各自的不会产生影响注意:局部变量在函数执行完毕后会释放作用:为了临时的保存数据,需要在函数中定义来进行存储。全局变量:当全局变量和局部变量出现重复定义的时候,程序就......
  • python判断2个版本号大小
    摘自:https://blog.csdn.net/lizy0327/article/details/121164549此方法唯一的“限制”就是要求版本号之间默认是以.为连接的,当然如果是其他字符连接的话,完全可以在split修改即可,所以严格意义上来说这也不算限制,只能是默认传入的版本号是以.为连接而已。此外,对于版本号是否长度相......