مشکل در اجرای custom topology در mininet

صفحه اصلی انجمن تخصصی SDNCentralدسته بندی: مینی نتمشکل در اجرای custom topology در mininet
kourosh | پرسیده شده در  4 ماه قبل

با سلام من یک custom topology پیاده سازی کردم و میخوام اونو با mininet اجرا کنم.در واقع من یک شی از کلاس توپولوژی تعریف کردم. مشکل من اینجاست که وقتی اونو با دستور “sudo mn –custom /home/bob/pox/ext/My_topology1.py –topo=mytopo –mac ” در محیط ترمینال اجرا میکنم؛ کد من اجرا میشه شی که تعریف کردم توپولوژی رو به وجود میاره و وقتی توپولوژی پاک میشه با net.stop انگار تابع __init__ دوباره فراخونی میشه و توپولوژی من دوباره اجرا میشه. در واقع من در ترمینالم دوبار شاهد به وجود اومدن تو‌پولوژیم هستم. به نظرتون مشکل از چیه؟

from mininet.topo import Topo
from mininet.net import Mininet
from mininet.cli import CLI

class MyTopo (Topo):

    def __init__(self):
        Topo.__init__(self)

        # Add hosts and switches
        s1 = self.addSwitch('s1')
        s2 = self.addSwitch('s2')
        s3 = self.addSwitch('s3')

        for i in range(1, 21):
            self.addHost('h%s'%i, ip='10.0.0.%s'%i)
            self.addLink('h%s'%i, s1)

        for i in range(21,41):
            self.addHost('h%s'%i, ip='10.0.0.%s'%i)
            self.addLink('h%s'%i, s2)

        for i in range(41,61):
            self.addHost('h%s'%i, ip='10.0.0.%s'%i)
            self.addLink('h%s'%i, s3)

        #Add link between switches
        self.addLink(s1, s2)
        self.addLink(s2, s3)


topo = MyTopo()
net = Mininet(topo)
net.start()
h1 = net.get('h1')
print(h1)
result = h1.cmd('ifconfig')
print(result)
CLI(net)
net.stop()
topos = { 'mytopo': ( lambda: MyTopo() ) }
مشکل در اجرای custom topology در mininet
امتیاز دهید

kourosh پاسخ داده شده در 4 ماه قبل

با سلام خدمت دوستان
مشکل در منطق برنامه نویسی بود و خوشبختانه حل شد.