I can't speak to mininet nor iperf 3 but iperf2 supports python 3's asyncio for this type of use. It's in the flows directory. It requires password less ssh for control pipes.
https://sourceforge.net/p/iperf2/code/ci/master/tree/flows/ Bob On Tue, Aug 8, 2023, 7:36 AM poriya rinkal <rinkalporiy...@gmail.com> wrote: > Hello everyone, > > I hope you all are doing well. Apologies for the long post. > > I am Rinkal, currently writing my masters thesis. I have a query related > to traffic generation using iperf3 in Mininet. This might not be entirely > related to iperf but i am in need of a solution as I am not able to > understand what actually is the problem. > > For the background: > I have a custom mininet topology (the code is given below) which is > running with ryu controller and I need to send traffic from all hosts to a > single server to analyze the throughput and delay parameters. > > I am running ryu controller using command : ryu-manager > ryu.app.simple_switch_stp_13 ryu.app.ofctl_rest > and mininet custom topology using command : sudo mn --custom ./ryu/topo.py > --topo=mytopo --mac --link=tc --switch ovs,protocols=OpenFlow13 > --controller remote > > Everything is pinging and running fine. Using xterm I have tried to send > traffic to the server host in the topology from all the hosts(mobile > stations) at the same time using iperf3 in mininet but unfortunately I am > not able to do it as the second host does not send the traffic when the > first one is sending. I did try it without giving any bandwidth on the > links but it is still the same. > > If someone can help me through this it would be a great help in my thesis. > I will be extremely grateful. Please find the code below. > > Best Regards > Rinkal Poriya > > > Mininet Custom Topology Code : > > from mininet.net import Mininet > from mininet.topo import Topo > from mininet.link import TCLink > from mininet.node import Controller, OVSSwitch, UserSwitch, > RemoteController > from mininet.log import setLogLevel, info > > class MyTopo( Topo ): > > def __init__( self ): > > Topo.__init__( self ) > > H1 = self.addHost( 'MS1', ip="10.0.0.1", mac='00:00:00:00:00:aa') > H2 = self.addHost( 'MS2', ip="10.0.0.2", mac='00:00:00:00:00:bb') > H3 = self.addHost( 'MS3', ip="10.0.0.3", mac='00:00:00:00:00:cc') > H4 = self.addHost( 'MS4', ip="10.0.0.4", mac='00:00:00:00:00:dd') > H5 = self.addHost( 'MS5', ip="10.0.0.5", mac='00:00:00:00:00:ee') > H6 = self.addHost( 'MS6', ip="10.0.0.6", mac='00:00:00:00:00:ff') > H7 = self.addHost( 'MS7', ip="10.0.0.7", mac='00:00:00:00:00:gg') > H8 = self.addHost( 'MS8', ip="10.0.0.8", mac='00:00:00:00:00:hh') > H9 = self.addHost( 'MS9', ip="10.0.0.9", mac='00:00:00:00:00:ii') > H10 = self.addHost('MS10', ip="10.0.0.10", mac='00:00:00:00:00:jj') > > server = self.addHost('server', ip="10.0.0.100", > mac='00:00:00:00:00:kk') > > b1 = self.addSwitch( 'bts1', cls=OVSSwitch, > mac='00:00:00:00:00:01') > b2 = self.addSwitch( 'bts2', cls=OVSSwitch, > mac='00:00:00:00:00:02') > b3 = self.addSwitch( 'bts3', cls=OVSSwitch, > mac='00:00:00:00:00:03') > b4 = self.addSwitch( 'bts4', cls=OVSSwitch, > mac='00:00:00:00:00:04') > b5 = self.addSwitch( 'bts5', cls=OVSSwitch, > mac='00:00:00:00:00:05') > > > s1 = self.addSwitch('s1', dpid='6001', cls=OVSSwitch, > mac='00:00:00:00:00:06') > s2 = self.addSwitch('s2', dpid='7001', cls=OVSSwitch, > mac='00:00:00:00:00:07') > s3 = self.addSwitch('s3', dpid='8001', cls=OVSSwitch, > mac='00:00:00:00:00:08') > s4 = self.addSwitch('s4', dpid='9001', cls=OVSSwitch, > mac='00:00:00:00:00:09') > s5 = self.addSwitch('s5', dpid='1010', cls=OVSSwitch, > mac='00:00:00:00:00:10') > > s0 = self.addSwitch('s0', dpid='1111', cls=OVSSwitch, > mac='00:00:00:00:00:11') > s6 = self.addSwitch('s6', dpid='1212', cls=OVSSwitch, > mac='00:00:00:00:00:12') > > > self.addLink( H1, b1, cls=TCLink, bw=15) > self.addLink( H2, b1, cls=TCLink, bw=15) > self.addLink( H3, b2, cls=TCLink, bw=15) > self.addLink( H4, b2, cls=TCLink, bw=15) > self.addLink( H5, b3, cls=TCLink, bw=15) > self.addLink( H6, b3, cls=TCLink, bw=15) > self.addLink( H7, b4, cls=TCLink, bw=15) > self.addLink( H8, b4, cls=TCLink, bw=15) > self.addLink( H9, b5, cls=TCLink, bw=15) > self.addLink( H10, b5, cls=TCLink, bw=15) > > self.addLink( b1, b2, cls=TCLink, bw=20) > self.addLink( b2, b3, cls=TCLink, bw=20) > self.addLink( b3, b4, cls=TCLink, bw=20) > self.addLink( b4, b5, cls=TCLink, bw=20) > self.addLink( b5, b1, cls=TCLink, bw=20) > > self.addLink(b1, s1, cls=TCLink, bw=40) > self.addLink(b2, s2, cls=TCLink, bw=40) > self.addLink(b3, s3, cls=TCLink, bw=40) > self.addLink(b4, s4, cls=TCLink, bw=40) > self.addLink(b5, s5, cls=TCLink, bw=40) > > self.addLink(s1, s0, cls=TCLink, bw=50) > self.addLink(s2, s0, cls=TCLink, bw=50) > self.addLink(s3, s0, cls=TCLink, bw=50) > self.addLink(s4, s0, cls=TCLink, bw=50) > self.addLink(s5, s0, cls=TCLink, bw=50) > > self.addLink(s0, s6, cls=TCLink, bw=50) > self.addLink(s6, server, cls=TCLink, bw=100) > > > topos = { 'mytopo': ( lambda: MyTopo() ) } > > if __name__ == '__main__': > setLogLevel('info') > > > > However, I am not able to send > _______________________________________________ > Iperf-users mailing list > Iperf-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/iperf-users > -- This electronic communication and the information and any files transmitted with it, or attached to it, are confidential and are intended solely for the use of the individual or entity to whom it is addressed and may contain information that is confidential, legally privileged, protected by privacy laws, or otherwise restricted from disclosure to anyone else. If you are not the intended recipient or the person responsible for delivering the e-mail to the intended recipient, you are hereby notified that any use, copying, distributing, dissemination, forwarding, printing, or copying of this e-mail is strictly prohibited. If you received this e-mail in error, please return the e-mail to the sender, delete it from your computer, and destroy any printed copy of it.
smime.p7s
Description: S/MIME Cryptographic Signature
_______________________________________________ Iperf-users mailing list Iperf-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/iperf-users