2016-07-22 10 views
0

Ich versuche, ein einfaches SDN-Netzwerk mit Ryu und OpenVswitch zu machen, aber mein Ryu-Controller scheint nicht richtig zu funktionieren.
Ich versuche nur zwei Hosts ping, aber wenn ich den
Befehl ausführen ryu-manager simple_switch_13.py
der Controller (das ist eine vorkompilierte Skript ist) tut nichts, und die Pakete werden nicht durch den Datenweg weitergeleitet, tut es nicht einmal Flut Sie.Ryu Controller keine Weiterleitung von Paketen

Wenn ich den Ryu-Manager stoppen gibt es diese Zurückverfolgungs:

Traceback (most recent call last): 
    File "/usr/bin/ryu-manager", line 9, in <module> 
load_entry_point('ryu==3.19', 'console_scripts', 'ryu-manager')() 
    File "/usr/lib/python2.7/dist-packages/ryu/cmd/manager.py", line 99, in main 
hub.joinall(services) 
    File "/usr/lib/python2.7/dist-packages/ryu/lib/hub.py", line 89, in joinall 
t.wait() 
    File "/usr/lib/python2.7/dist-packages/eventlet/greenthread.py", line 175, in wait 
return self._exit_event.wait() 
    File "/usr/lib/python2.7/dist-packages/eventlet/event.py", line 121, in wait 
return hubs.get_hub().switch() 
    File "/usr/lib/python2.7/dist-packages/eventlet/hubs/hub.py", line 294, in switch 
return self.greenlet.switch() 
    File "/usr/lib/python2.7/dist-packages/eventlet/hubs/hub.py", line 346, in run 
self.wait(sleep_time) 
    File "/usr/lib/python2.7/dist-packages/eventlet/hubs/poll.py", line 85, in wait 
presult = self.do_poll(seconds) 
    File "/usr/lib/python2.7/dist-packages/eventlet/hubs/epolls.py", line 62, in do_poll 
return self.poll.poll(seconds) 

Ich glaube nicht, das Problem in dem Code ist, da simple_switch_13.py ein prebuilt Skript. Weiß jemand, was ich falsch mache? Sie finden ein Beispiel für simple_switch_13.py here.

Wenn ich etwas zu sagen vermisse, bitte fragen Sie mich, danke.

+0

Ist die Verbindung zwischen dem Ryu-Controller und den Schaltern ok? Vielleicht blockiert eine Firewall oder so die Verbindung mit dem Controller? – ctron

+0

@ctron ja sie sind verbunden, in der Tat, wenn ich einen "print" Hallo Welt "' Befehl in der Init-Funktion druckt es die Zeichenfolge. Das bestätigt auch, dass "ovs-vsctl show" auf dem Datenpfad läuft. – dipo

Antwort

0

Endlich habe ich das Problem gelöst, ich denke es war etwas, das ich in der Datenpfadkonfiguration verpasst habe, da ich den Code nicht geändert habe. Ich werde es hier posten, wenn jemand es brauchen wird:

ifconfig eth0 add FC00:1::2/64 up 
ifconfig eth1 10.0.0.2/24 up 
ifconfig eth2 add FC02:1::2/64 up 

/etc/init.d/openvswitch-switch start 

ovs-vsctl add-br br1 
ovs-vsctl add-port br1 eth1 
ovs-vsctl set-controller br1 tcp:10.0.0.1:6633 
Verwandte Themen