#やりたいこと
pythonでMininetのトポロジーを構築し、iperfをノード上で実行します。
そこで、ノードで実行したiperfの出力をコマンドプロンプト上に表示させたいです。
#困っていること
プログラム上のh2_pidで実行している"iperf -c ~"のコマンドを実行した際の出力をコマンドプロンプト上に表示させたいのですが、iperfの出力が表示されません。
そこで、iperfの出力をコマンドプロンプト上に表示させるためには、どこを修正する必要があるのでしょうか?
有識者の方々、ご教授の程よろしくお願いします。
プログラム
現在のプログラムを示します。
python
1#!/usr/bin/python 2 3from mininet.topo import Topo 4from mininet.net import Mininet 5from mininet.node import CPULimitedHost 6from mininet.link import TCLink 7from mininet.util import dumpNodeConnections 8from mininet.log import setLogLevel 9import time 10import subprocess 11 12class SingleSwitchTopo(Topo): 13 "Single switch connected to n hosts." 14 def __init__(self, n=2, **opts): 15 Topo.__init__(self, **opts) 16 hosts=[] 17 for h in range(n): 18 # Each host gets 50%/n of system CPU 19 hosts.append(self.addHost('h%s' % (h + 1), 20 cpu=.5/n)) 21 # 10 Mbps, 5ms delay, 10% loss, 1000 packet queue 22 self.addLink(hosts[0], hosts[1], 23 bw=10, delay='5ms', loss=0, max_queue_size=1000, use_htb=True) 24 25def perfTest(): 26 "Create network and run simple performance test" 27 topo = SingleSwitchTopo(n=2) 28 net = Mininet(topo=topo, 29 host=CPULimitedHost, link=TCLink) 30 net.start() 31 h1, h2 = net.get('h1', 'h2') 32 33 h1_dmp = h1.popen('tcpdump', '-x', '-tt', '-nn', '-Z', 'root', '-B', '1000', '-w', 'dump/sender.pcap') 34 h2_dmp = h2.popen('tcpdump', '-x', '-tt', '-nn', '-Z', 'root', '-B', '1000', '-w', 'dump/receiver.pcap') 35 36 h1_pid = h1.popen('iperf', '-s', '-p', '5001') 37 h2_pid = h2.popen(['iperf', '-c', h1.IP(), '-p', '5001', '-t', '30','-Z', 'cubic'],stdout=subprocess.PIPE,stderr = subprocess.STDOUT) 38 39 time.sleep(30) 40 41 h1_pid.kill() 42 h1_dmp.kill() 43 h2_pid.kill() 44 h2_dmp.kill() 45 net.stop() 46 47if __name__ == '__main__': 48 setLogLevel('info') 49 perfTest()
#出力結果
*** Creating network *** Adding controller *** Adding hosts: h1 h2 *** Adding switches: *** Adding links: (10.00Mbit 5ms delay 0.00000% loss) (10.00Mbit 5ms delay 0.00000% loss) (h1, h2) *** Configuring hosts h1 (cfs 75000/100000us) h2 (cfs 75000/100000us) *** Starting controller c0 *** Starting 0 switches *** Stopping 1 controllers c0 *** Stopping 1 links . *** Stopping 0 switches *** Stopping 2 hosts h1 h2 *** Done
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。