6

私はミニネットとパイソンが初めてです。mininet で python スクリプトを実行したいのですが、mininet で python スクリプトを実行する方法と、mininet から呼び出すために .py ファイルを保存する場所がわかりません。

アイデアはありますか?

4

2 に答える 2

3

これが私のやり方です。次のコードをコピーして貼り付けるか、次のファイルをダウンロードします: Simple_Pkt_Topo.py

__author__ = 'Ehsan'
from mininet.node import CPULimitedHost
from mininet.topo import Topo
from mininet.net import Mininet
from mininet.log import setLogLevel, info
from mininet.node import RemoteController
from mininet.cli import CLI
"""
Instructions to run the topo:
    1. Go to directory where this fil is.
    2. run: sudo -E python Simple_Pkt_Topo.py.py

The topo has 4 switches and 4 hosts. They are connected in a star shape.
"""


class SimplePktSwitch(Topo):
    """Simple topology example."""

    def __init__(self, **opts):
        """Create custom topo."""

        # Initialize topology
        # It uses the constructor for the Topo cloass
        super(SimplePktSwitch, self).__init__(**opts)

        # Add hosts and switches
        h1 = self.addHost('h1')
        h2 = self.addHost('h2')
        h3 = self.addHost('h3')
        h4 = self.addHost('h4')

        # Adding switches
        s1 = self.addSwitch('s1', dpid="0000000000000001")
        s2 = self.addSwitch('s2', dpid="0000000000000002")
        s3 = self.addSwitch('s3', dpid="0000000000000003")
        s4 = self.addSwitch('s4', dpid="0000000000000004")

        # Add links
        self.addLink(h1, s1)
        self.addLink(h2, s2)
        self.addLink(h3, s3)
        self.addLink(h4, s4)

        self.addLink(s1, s2)
        self.addLink(s1, s3)
        self.addLink(s1, s4)


def run():
    c = RemoteController('c', '0.0.0.0', 6633)
    net = Mininet(topo=SimplePktSwitch(), host=CPULimitedHost, controller=None)
    net.addController(c)
    net.start()

    CLI(net)
    net.stop()

# if the script is run directly (sudo custom/optical.py):
if __name__ == '__main__':
    setLogLevel('info')
    run()

次に、使用するだけでトポを実行できます

sudo -E python <nameofthefile>

sudo -E python Simple_Pkt_Topo.pyこれで、ミニネットを起動するために使用できます。

ここにチュートリアルのリンクがあります。

コントローラーが必要なことに注意してください。それに関する指示が必要な場合はお知らせください。

それが役に立てば幸い。

于 2015-07-23T19:59:06.070 に答える