2016-07-22 27 views
0

私はryuとopenVswitchでシンプルなsdnネットワークを作ろうとしていますが、私のryuコントローラは正しく動作していないようです。
は、私はちょうど2つのホストにpingを実行しようとしているが、私は、コマンドを実行すると、コントローラは、何もしないと、パケットはデータパスによって転送されません(ビルド済みのスクリプトです)
ryu-manager simple_switch_13.py
が、それも洪水がありませんそれら。私はリュ・マネージャーを停止するとryuコントローラがパケットを転送しない

それは、このトレースバックを与える:

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) 

simple_switch_13.pyが構築済みのスクリプトですので、私は、問題がコードであるとは思いません。誰かが私が間違っていることを知っていますか? simple_switch_13.py hereの例があります。

私が何か言いたいことがない場合は、私に尋ねてください、ありがとう。

+0

ryuコントローラとスイッチの接続は問題ありませんか?おそらくファイアウォールなどがコントローラとの接続をブロックしていますか? – ctron

+0

@ctronはい彼らは接続されています。実際には 'print" hello world "コマンドをinit関数に入れて文字列を出力します。また、データパス上で 'ovs-vsctl show'を実行することでそのことが確認されます。 – dipo

答えて

0

最後に私は問題を解決しました。私はデータパス構成で欠けていたと思っていました。コードを変更しなかったからです。

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 
関連する問題