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.

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

_______________________________________________
Iperf-users mailing list
Iperf-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/iperf-users

Reply via email to