Не удается найти требуемый исполняемый файл ovs-controller: Mininet

sudo python Topology.py 
N = 6
*** Creating network
*** Adding controller
*** Adding hosts:
a b c d e u 
*** Adding switches:
s1 s2 
*** Adding links:
(5.00Mbit 3ms delay 2% loss) *** Error: RTNETLINK answers: No such file or directory
(5.00Mbit 3ms delay 2% loss) *** Error: RTNETLINK answers: No such file or directory
(a, s1) (5.00Mbit 3ms delay 2% loss) *** Error: RTNETLINK answers: No such file or directory
(5.00Mbit 3ms delay 2% loss) *** Error: RTNETLINK answers: No such file or directory
(b, s1) (5.00Mbit 3ms delay 2% loss) *** Error: RTNETLINK answers: No such file or directory
(5.00Mbit 3ms delay 2% loss) *** Error: RTNETLINK answers: No such file or directory
(c, s2) (5.00Mbit 3ms delay 2% loss) *** Error: RTNETLINK answers: No such file or directory
(5.00Mbit 3ms delay 2% loss) *** Error: RTNETLINK answers: No such file or directory
(d, s2) (5.00Mbit 3ms delay 2% loss) *** Error: RTNETLINK answers: No such file or directory
(5.00Mbit 3ms delay 2% loss) *** Error: RTNETLINK answers: No such file or directory
(e, s1) Traceback (most recent call last):
  File "Topology.py", line 45, in <module>
    perfTest()
  File "Topology.py", line 33, in perfTest
    net = Mininet(topo=topo,host=CPULimitedHost,link=TCLink,controller=OVSController)
  File "/usr/lib/python2.7/dist-packages/mininet/net.py", line 172, in __init__
    self.build()
  File "/usr/lib/python2.7/dist-packages/mininet/net.py", line 442, in build
    self.buildFromTopo( self.topo )
  File "/usr/lib/python2.7/dist-packages/mininet/net.py", line 429, in buildFromTopo
    self.addLink( **params )
  File "/usr/lib/python2.7/dist-packages/mininet/net.py", line 364, in addLink
    link = cls( node1, node2, **options )
  File "/usr/lib/python2.7/dist-packages/mininet/link.py", line 534, in __init__
    params2=params )
  File "/usr/lib/python2.7/dist-packages/mininet/link.py", line 424, in __init__
    node1, node2, deleteIntfs=False )
  File "/usr/lib/python2.7/dist-packages/mininet/link.py", line 468, in makeIntfPair
    deleteIntfs=deleteIntfs )
  File "/usr/lib/python2.7/dist-packages/mininet/util.py", line 194, in makeIntfPair
    ( intf1, intf2, cmdOutput ) )
Exception: Error creating interface pair (s1-eth4,s2-eth4): RTNETLINK answers: File exists

Это ошибка возникает, когда я запускаю свою программу на Python, реализующую мининет. Я нашел тему по той же проблеме, но ни один из методов не работал для меня.

Вот мой код:

#! /usr/bin/python

from mininet.topo import Topo
from mininet.net import Mininet
from mininet.util import dumpNodeConnections
from mininet.log import setLogLevel
from mininet.node import OVSController,CPULimitedHost
from mininet.link import TCLink
from mininet.cli import CLI

class SingleSwitchTopo(Topo):
    "Single switch connected to n hosts"
    def build(self,n=2):
        print('N = %s' %(n))
        switch_1 = self.addSwitch('s1')
        switch_2 = self.addSwitch('s2')
        host=self.addHost('a')
        self.addLink(host,switch_1,bw=5,delay='3ms',loss=2,max_queue_size=300)
        host=self.addHost('b')
        self.addLink(host,switch_1,bw=5,delay='3ms',loss=2,max_queue_size=300)
        host=self.addHost('e')
        self.addLink(host,switch_1,bw=5,delay='3ms',loss=2,max_queue_size=300)
        host=self.addHost('c')
        self.addLink(host,switch_2,bw=5,delay='3ms',loss=2,max_queue_size=300)
        host=self.addHost('d')
        self.addLink(host,switch_2,bw=5,delay='3ms',loss=2,max_queue_size=300)
        host=self.addHost('u')
        self.addLink(host,switch_2,bw=5,delay='3ms',loss=2,max_queue_size=300)
        self.addLink(switch_1,switch_2,bw=15,delay='2ms')

def perfTest():
    topo = SingleSwitchTopo(6)
    net = Mininet(topo=topo,host=CPULimitedHost,link=TCLink,controller=OVSController)
    net.start()
    print "Dumping the Node Information"
    dumpNodeConnections(net.hosts)
    print "Testing the network connectivity"
    net.pingAll()
    CLI(net)
    net.stop()

if __name__ == '__main__':
    #Start mininet using perfTest Function
    setLogLevel('info')
    perfTest()

Я пытаюсь добавить 6 хостов с 2 коммутаторами. Есть ли какая-нибудь работа для этого?

Аналогичная тема, связанная с этой проблемой: Minenet не может найти требуемый исполняемый контроллер

Перепробовал все, что в теме выше. У меня ничего не работает.


person Kancha    schedule 22.03.2018    source источник


Ответы (1)


ваша проблема связана с топографией с одним переключателем.

попробуйте эту передачу 6, когда вы вызываете функцию через perfTest

class SingleSwitchTopo(Topo):
  "Single switch connected to n hosts."
  def __init__(self, n=2, **opts):
    Topo.__init__(self, **opts)
    switch = self.addSwitch('s1')
    for h in range(n):
      host = self.addHost('h%s' % (h + 1))
      self.addLink(host, switch) 

Если проблема не исчезнет, ​​попробуйте настроить свой код с помощью контроллера, такого как pox (оспа)

person dside    schedule 26.03.2018