2014年3月12日水曜日

OpenFlow Mininetのトポロジーをカスタマイズしてみる3

今回はMininetのトポロジーを変更して、Mininetを動かすゲストOSとは別のゲストOS上で動いているOpenFlowコントローラにつないでみます。

別のゲストOS上のコントローラに接続するためには、RemotoControllerクラスを使えるようにしなければいけません。
まずは以下の宣言をファイルの先頭部分に追加します。

from mininet.node import RemoteController

次にコントローラを追加する処理を変更します。
変更前は以下のようになっています。

    c1 = net.addController('c1')

コントローラを追加する時に、コントローラが起動しているサーバとポート番号を指定します。
ここではコントローラが起動しているサーバは192.168.56.10、コントローラの待ち受けポートは6653を指定しています。

    c1 = net.addController('c1',controller=RemoteController,ip='192.168.56.10',port=6653)


変更後のトポロジーは以下のようになります。

(topo_test.py)
#!/usr/bin/env python

from mininet.net import Mininet
from mininet.cli import CLI
from mininet.link import Link
from mininet.node import RemoteController

if '__main__' == __name__:

    net = Mininet()

    c1 = net.addController('c1',controller=RemoteController,ip='192.168.56.10',p
ort=6653)
    s1 = net.addSwitch('s1')
    h1 = net.addHost('h1', mac='a4:aa:aa:aa:aa:01',ip='192.168.100.1/24')
    h2 = net.addHost('h2', mac='a5:aa:aa:aa:aa:02',ip='192.168.100.2/24')

    #Link( h1, s1)
    #Link( h2, s1)
    h1.linkTo(s1)
    h2.linkTo(s1)

    net.start()
    CLI(net)
    net.stop()


次回は実行してコントローラに接続してみます。

0 件のコメント:

コメントを投稿