Multiple Wireless Interface on AP

340 views
Skip to first unread message

ppiny...@gmail.com

unread,
Oct 11, 2017, 11:42:28 AM10/11/17
to mininet-wifi-discuss
Dear Ramon,

I saw your example on how to configure multi-wlan on station.
But i would like to create multiple wireless interface with different channels on mesh topology that i have attached it here.
Could you please suggest me any example topologies to refer?

I tried to code like this but it did not work.

ap1 = net.addAccessPoint('ap1', ssid="ssid_1, ssid_2", mode="g", channel=5,6)

Best Regards,
Pinyarash P.

mesh_topo.png

Ramon Fontes

unread,
Oct 11, 2017, 2:50:08 PM10/11/17
to ppiny...@gmail.com, mininet-wifi-discuss
Dear Pinyarash,

wlans=2 works, but you won't be able to set the channel. Thus, I updated the code on branch dev and your script should looks like this:
    .....
    ap1 = net.addAccessPoint('ap1', wlans=3, type='mesh', ssid=['ssid1',' ',' '])
    ap2 = net.addAccessPoint('ap2', wlans=3, type='mesh', ssid=['ssid2',' ',' '])
    .....
    net.configureWifiNodes()
    .....
    net.addMesh(ap1, intf='ap1-wlan2', ssid='mesh-ssid', channel=10)
    net.addMesh(ap2, intf='ap2-wlan2', ssid='mesh-ssid', channel=10)

I still have to figure out how to set the frequency. 'iw dev ... set freq' didn't work. 


--
You received this message because you are subscribed to the Google Groups "mininet-wifi-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mininet-wifi-discuss+unsubscrib...@googlegroups.com.
To post to this group, send email to mininet-wifi-discuss@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mininet-wifi-discuss/ce7c94a2-f18d-47bd-9a32-efbad9851cd9%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

pinyarash pinyoanutapong

unread,
Oct 11, 2017, 5:14:27 PM10/11/17
to Ramon Fontes, mininet-wifi-discuss
Thank you for your reply,

I already switched to dev branch.
Do i have to compile the code and install mininet wifi again or could you please provide me the steps to test new functionality.

Regards,
Pinyarash P.

Ramon Fontes

unread,
Oct 11, 2017, 5:16:32 PM10/11/17
to pinyarash pinyoanutapong, mininet-wifi-discuss
Just compile it with "sudo make install".

Sent from my android

To unsubscribe from this group and stop receiving emails from it, send an email to mininet-wifi-discuss+unsub...@googlegroups.com.

To post to this group, send email to mininet-wifi-discuss@googlegroups.com.

Ramon Fontes

unread,
Oct 12, 2017, 9:25:43 AM10/12/17
to pinyarash pinyoanutapong, mininet-wifi-discuss
5GHz is now available on the branch dev. You can setup it with:

net.addMesh(ap1, intf='ap1-wlan2', ssid='mesh-ssid', mode='a', channel=36)
net.addMesh(ap2, intf='ap2-wlan2', ssid='mesh-ssid', mode='a', channel=36)

pinyarash pinyoanutapong

unread,
Oct 12, 2017, 11:02:55 PM10/12/17
to Ramon Fontes, mininet-wifi-discuss
I already modified the code. But it still cannot see the neighbour mesh node.


And in meshAP.py, i can only see the neighbour station on wlan0, which is in infra mode. But not on wlan1 (mesh mode)

Thank you,
Pinyarash P



On Fri, Oct 13, 2017 at 3:01 AM, Ramon Fontes <ramonre...@gmail.com> wrote:
Please consider the changes below:

    ap1 = net.addAccessPoint('ap1', wlans=3, ssid='ssid1,,', position='10,10,0')
    ap2 = net.addAccessPoint('ap2', wlans=3, ssid='ssid2,,', position='30,10,0')
    c0 = net.addController('c0', controller=Controller, ip='127.0.0.1', port=6633)

ssid='ssid1,,' means that only first interface will work in infra mode.

    net.addMesh(ap1, intf='ap1-wlan2', ssid='mesh-ssid', channel='1')
    net.addMesh(ap2, intf='ap2-wlan2', ssid='mesh-ssid', channel='1')

The channel must be the same in wireless mesh.

    net.addMesh(ap1, intf='ap1-wlan3', ssid='mesh-ssid2', channel='6')
    net.addMesh(ap2, intf='ap2-wlan3', ssid='mesh-ssid2', channel='6')

    net.plotGraph(max_x=100, max_y=100)

Call net.plotGraph before net.build.

ap-mp means that the interface is working in mesh mode.

2017-10-12 20:16 GMT-03:00 pinyarash pinyoanutapong <ppiny...@gmail.com>:
Here is my code.

On Thu, Oct 12, 2017 at 5:51 PM, Ramon Fontes <ramonre...@gmail.com> wrote:
Can I see your code?

Sent from my android

On 12 Oct 2017 19:46, "pinyarash pinyoanutapong" <ppiny...@gmail.com> wrote:
Thank you for updating the code,

I have modified the code from meshAP.py called mesh_multipleWlan.py. I have attached to this email.
In this file,  I added one more wireless interface on both AP with different channel,

"
net.addMesh(ap1, intf='ap1-wlan1', ssid='mesh-ssid', channel=1)
net.addMesh(ap2, intf='ap2-wlan1', ssid='mesh-ssid',  channel=6)

net.addMesh(ap1, intf='ap1-wlan2', ssid='mesh-ssid',  channel=1)
net.addMesh(ap2, intf='ap2-wlan2', ssid='mesh-ssid',  channel=6)
"

But when i run "iw dev ap1-wlan1 station dump ". It didnt print out anything. From this output, I assumed that it didnt form a mesh.

One more question is that what is differnt between ap-wlan and ap-mp?
and is it possible to plot a mesh topology?
Because when i added    " net.plotGraph(max_x=100, max_y=100)". It didnt plot anything.

Thank you,
Regarards,
Pinyarash P.
mesh_multipleWlan.py

Ramon Fontes

unread,
Oct 13, 2017, 6:29:52 AM10/13/17
to pinyarash pinyoanutapong, mininet-wifi-discuss
Wlan1 isn't working in mesh mode. I told you in the previous email. Did you try mp2/mp3??

Sent from my android

pinyarash pinyoanutapong

unread,
Oct 13, 2017, 7:27:21 AM10/13/17
to Ramon Fontes, mininet-wifi-discuss
Sorry, I meant mp2/mp3. It didnt work.

Here is my code.

To unsubscribe from this group and stop receiving emails from it, send an email to mininet-wifi-dis...@googlegroups.com.
To post to this group, send email to mininet-wi...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "mininet-wifi-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mininet-wifi-dis...@googlegroups.com.
To post to this group, send email to mininet-wi...@googlegroups.com.

Ramon Fontes

unread,
Oct 13, 2017, 7:40:27 AM10/13/17
to pinyarash pinyoanutapong, mininet-wifi-discuss
I just tested your code and it worked.

Sent from my android

Here is my code.

To unsubscribe from this group and stop receiving emails from it, send an email to mininet-wifi-discuss+unsub...@googlegroups.com.
To post to this group, send email to mininet-wifi-discuss@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "mininet-wifi-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mininet-wifi-discuss+unsub...@googlegroups.com.
To post to this group, send email to mininet-wifi-discuss@googlegroups.com.

Ramon Fontes

unread,
Oct 13, 2017, 8:01:58 AM10/13/17
to pinyarash pinyoanutapong, mininet-wifi-discuss

Here is my code.

To unsubscribe from this group and stop receiving emails from it, send an email to mininet-wifi-discuss+unsubscrib...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "mininet-wifi-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mininet-wifi-discuss+unsubscrib...@googlegroups.com.

pinyarash pinyoanutapong

unread,
Oct 13, 2017, 10:42:50 AM10/13/17
to Ramon Fontes, mininet-wifi-discuss
I run the same code but i did not get the output like yours. I have attached my output in this email.
P.S im using the Dev branch.

Thanks,
station _dump.png

Ramon Fontes

unread,
Oct 13, 2017, 10:57:35 AM10/13/17
to pinyarash pinyoanutapong, mininet-wifi-discuss
Are you sure you have the most recent commit?

Sent from my android

pinyarash pinyoanutapong

unread,
Oct 13, 2017, 11:08:58 AM10/13/17
to Ramon Fontes, mininet-wifi-discuss
Yes, I have the latest commit. Please check the details below.

wifi@VM:~/mininet-wifi$ git branch
* dev
  master

wifi@VM:~/mininet-wifi$
wifi@VM:~/mininet-wifi$
wifi@VM:~/mininet-wifi$ git log
commit f9d60a8de09b480ebe370819c22938dfc2b18770
Author: Ramon Fontes <ramonre...@gmail.com>
Date:   Thu Oct 12 10:21:08 2017 -0300

    fixes for multiple wlan

Ramon Fontes

unread,
Oct 13, 2017, 11:38:21 AM10/13/17
to pinyarash pinyoanutapong, mininet-wifi-discuss
What about examples/meshAP.py?

Sent from my android

y v s g phani s

unread,
Oct 13, 2017, 12:47:04 PM10/13/17
to mininet-wifi-discuss
Hi Ramon

I am also trying to understand the meshAP.py code but I couldn't see any mesh formation.

Steps followed:
============
1. Downloaded and installed mininet-wifi VM on Oracle Virtual box.
2. Pulled new code from mininet-wifi repo.

 45 files changed, 1295 insertions(+), 2352 deletions(-)
 rename examples/{wds/wds.py => 4address.py} (53%)
 delete mode 100755 examples/apadhoc.py
 create mode 100755 examples/sta_ap_mode.py
 delete mode 100755 examples/wds/Makefile
 delete mode 100755 examples/wmediumd_specprob_complex.py
 delete mode 100644 mininet/mobility.py
 delete mode 100644 mininet/wifiAdHocConnectivity.py
 delete mode 100644 mininet/wifiMeshRouting.py

3. Installed the updated code using "sudo make install".

Removing mininet 2.1r3 from easy-install.pth file
Adding mininet 2.1r4 to easy-install.pth file
Installing mn script to /usr/local/bin

Installed /usr/local/lib/python2.7/dist-packages/mininet-2.1r4-py2.7.egg
Processing dependencies for mininet==2.1r4
Searching for setuptools==3.3
Best match: setuptools 3.3
setuptools 3.3 is already the active version in easy-install.pth
Installing easy_install script to /usr/local/bin
Installing easy_install-2.7 script to /usr/local/bin

Using /usr/lib/python2.7/dist-packages
Finished processing dependencies for mininet==2.1r4

4. Executed meshAP.py example code.

There is no channel assigned to ap1-wlan2. 

As per meshAP.py file, there are two wireless interfaces, but if we execute "net", we get three wireless interfaces.
    ap1 = net.addAccessPoint('ap1', wlans=2, type='mesh', ssid='ssid1', position='10,10,0')

    mininet-wifi> net
    c0
    sta1 sta1-wlan0:wireless
    sta2 sta2-wlan0:wireless
   ap1 lo:  ap1-wlan1:wireless ap1-wlan2:wireless ap1-mp2:wireless
   ap2 lo:  ap2-wlan1:wireless ap2-wlan2:wireless ap2-mp2:wireless
   mininet-wifi> 


Interfaces ap1-wlan2 and ap1-mp2 have same MAC and wiphy id. Could you please let me know the difference between ap1-wlan2 and ap1-mp2 interafces? 

mininet-wifi> ap1 iw dev ap1-wlan1 info
Interface ap1-wlan1
ifindex 55
wdev 0x1200000001
addr 02:00:00:00:02:00
ssid ssid1
type AP
wiphy 18
channel 1 (2412 MHz), width: 20 MHz (no HT), center1: 2412 MHz
mininet-wifi> ap1 iw dev ap1-wlan2 info
Interface ap1-wlan2
ifindex 56
wdev 0x1300000001
addr 02:00:00:00:03:00
type managed
wiphy 19
mininet-wifi> ap1 iw dev ap1-mp2 info
Interface ap1-mp2
ifindex 67
wdev 0x1300000002
addr 02:00:00:00:03:00
type managed
wiphy 19
mininet-wifi> 

Also, ap1 is not listing ap2 as neighbor in station dump.

mininet-wifi> ap1 iw dev ap1-wlan1 station dump
mininet-wifi> ap1 iw dev ap1-wlan2 station dump
mininet-wifi> 
mininet-wifi> ap1 iw dev ap1-mp2 station dump
mininet-wifi> 

Could you please let me know if I missed anything?

Best Regards
Phani
Here is my code.

To unsubscribe from this group and stop receiving emails from it, send an email to mininet-wifi-discuss+unsub...@googlegroups.com.
To post to this group, send email to mininet-wi...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "mininet-wifi-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mininet-wifi-discuss+unsub...@googlegroups.com.
To post to this group, send email to mininet-wi...@googlegroups.com.

Ramon Fontes

unread,
Oct 13, 2017, 2:35:18 PM10/13/17
to y v s g phani s, mininet-wifi-discuss
Interfaces ap1-wlan2 and ap1-mp2 have same MAC and wiphy id. Could you please let me know the difference between ap1-wlan2 and ap1-mp2 interafces?

A: the mesh interface is created from the existing one (please note that ap1-wlan2 is down!): "iw dev ap1-wlan2 add interface ap2-mp2 type mp". As far as I know we cannot ignore ap1-wlan2 or any other similar interface. On the other hand, if you can do it with iw/iwconfig without the existing interface please let me know. Pull request are welcome as well.

I notice that when we issue something like iw dev ap1-wlan2 add interface ap2-mp2 type mp in our VM, sometimes it creates a managed interface (instead of mesh) and now I'm trying to solve it.

Sent from my android

Here is my code.

To unsubscribe from this group and stop receiving emails from it, send an email to mininet-wifi-discuss+unsubscrib...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "mininet-wifi-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mininet-wifi-discuss+unsubscrib...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "mininet-wifi-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mininet-wifi-discuss+unsubscrib...@googlegroups.com.
To post to this group, send email to mininet-wifi-discuss@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mininet-wifi-discuss/ab63a76e-0595-48b3-8396-87a80d91dfd7%40googlegroups.com.

Ramon Fontes

unread,
Oct 14, 2017, 6:40:18 AM10/14/17
to y v s g phani s, mininet-wifi-discuss
Hi,

A new VM is available and meshAP is working fine right now. I couldn't identify the reason of the problem, but I suppose that this is related to the version of mac80211_hwsim or even cfg80211/mac80211, because it worked with Ubuntu 16.04 (the VM had Ubuntu 14.04 as OS) - upgrading the kernel didn't solve the problem.

Regards,
Ramon

pinyarash pinyoanutapong

unread,
Oct 14, 2017, 10:18:21 AM10/14/17
to Ramon Fontes, y v s g phani s, mininet-wifi-discuss
Thank you for the update,

It works now.



You received this message because you are subscribed to a topic in the Google Groups "mininet-wifi-discuss" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/mininet-wifi-discuss/AljrtpYTLhM/unsubscribe.
To unsubscribe from this group and all its topics, send an email to mininet-wifi-discuss+unsub...@googlegroups.com.

To post to this group, send email to mininet-wifi-discuss@googlegroups.com.

pinyarash pinyoanutapong

unread,
Oct 14, 2017, 12:31:47 PM10/14/17
to Ramon Fontes, y v s g phani s, mininet-wifi-discuss
The 2.4GHz channels worked fine but when i tried to assign channel in 5GHz, it did not work.

I have assigned channel 1(2.4GHz) to wlan2(mp2) and channel 60(5GHz) to wlan3(mp3).
  
    net.addMesh(ap1, intf='ap1-wlan2', ssid='mesh-ssid', mode='n', channel='1')
    net.addMesh(ap2, intf='ap2-wlan2', ssid='mesh-ssid', mode='n', channel='1')

    net.addMesh(ap1, intf='ap1-wlan3', ssid='mesh-ssid2', mode='n', channel='60')
    net.addMesh(ap2, intf='ap2-wlan3', ssid='mesh-ssid2', mode='n', channel='60')

------------------------------------------------------------------------------------------------------------------------------------------

Here is the output

ap1 lo:  ap1-wlan1:wireless ap1-wlan2:wireless ap1-wlan3:wireless ap1-mp2:wireless ap1-mp3:wireless ap1-eth6:h1-eth0
ap2 lo:  ap2-wlan1:wireless ap2-wlan2:wireless ap2-wlan3:wireless ap2-mp2:wireless ap2-mp3:wireless ap2-eth6:h2-eth0
mininet-wifi> ap1 iw dev ap2-mp3 info
Interface ap2-mp3
    ifindex 100
    wdev 0x2900000002
    addr 02:00:00:00:05:00
    type mesh point
    wiphy 41
    txpower 20.00 dBm
mininet-wifi>
mininet-wifi>
mininet-wifi> ap1 iw dev ap2-mp3 station dump
mininet-wifi>




To unsubscribe from this group and all its topics, send an email to mininet-wifi-discuss+unsubscrib...@googlegroups.com.

To post to this group, send email to mininet-wifi-discuss@googlegroups.com.

Ramon Fontes

unread,
Oct 14, 2017, 2:58:02 PM10/14/17
to pinyarash pinyoanutapong, y v s g phani s, mininet-wifi-discuss
In this case you have to set the mode to 'a'. Mode 'n' works on 2.4/5Ghz and there is no way to work with 'n' and 5Ghz, directly. The rule is: if you want to enable 5Ghz, use mode 'a'.

Sent from my android

Ramon Fontes

unread,
Oct 14, 2017, 4:19:56 PM10/14/17
to pinyarash pinyoanutapong, y v s g phani s, mininet-wifi-discuss
Please refer to the the section IEEE 802.11n related configuration at https://w1.fi/cgit/hostap/plain/hostapd/hostapd.conf. As far as I know, there is nothing similar to ieee80211n with iw/iwconfig. 

Ramon Fontes

unread,
Oct 16, 2017, 3:37:34 PM10/16/17
to pinyarash pinyoanutapong, mininet-wifi-discuss
It's hard to say what is physical/virtual. Ok, I'm  just joking :). The new interface acts like any other interface. I couldn't identify any difference so far.

What do you mean about the total bandwidth is the maximum of two links bandwidth? Can you share the code of both mininet/mininet-wifi?

2017-10-16 16:25 GMT-03:00 pinyarash pinyoanutapong <ppiny...@gmail.com>:
Thank you for your suggestion,

When i used mode 'a', 5GHz worked fine.
I also would like to know that when i created multiple wireless interfaces, are these interfaces act like physical or virtual interface?

For example, I created 2 wireless interfaces. The first one operated in 2.4 GHz (mode g) and other one in 5GHz (mode a). My objective is to do load balancing on these two different wireless interfaces.

I used iperf to generate two different flows, and traffic is split on these two wireless interfaces simultaneously.
In the wired mininet, the total bandwidth is a aggregated of two links. But in case of wifi-mininet , the total bandwidth is the maximum of two links bandwidth.

Thank you.




pinyarash pinyoanutapong

unread,
Oct 17, 2017, 1:04:55 PM10/17/17
to Ramon Fontes, mininet-wifi-discuss
The maximum of two links bandwidth means that if the bandwidth of CH1 is 10 Mbps and CH2 is 5 Mbps, the total bandwidth of 2 CH is only 10 Mbps. It did not aggregate the two links bandwidth.

I have attached topology files and flows script for mininet and mininet-wifi.

Steps for wired mininet.

1.) sudo mn --custom champ.py --topo fvtopo --mac --switch ovsk --controller remote  --link tc  -x
2.) Run the "wired_mininet_flows.sh" to install the flows
3.) In mininet console, "h1 ping h3" to verify the connection
4.) Start "iperf -s" on H1 and "iperf -c 10.0.0.1 -P 2" on H2
5.) To verify that the flows got split, take the dumps on these two ports (s1-eth1),(s1-eth2)

"tcp dump -i s1-eth1" / "tcpdump -i s1-eth2"

6.) If the flows got split, the iperf output will show the aggregate bandwidth of two links.
(The output of this is attached as wired_tcp_iperf.png)

_____________________________________________________________________________________________

For Mesh_WIFI, it is a bit different since there are only two APs but multiple wireless interfaces.
To verify that the flows got split on different wireless interfaces, please take a dump on 
ap1-mp2 and ap1-mp3.

From the iperf output, the bandwidth of 2 wireless link did not get aggregated.

Thank you,



mesh_flows.sh
mesh_multipleWlan.py
wired_mininet_flows.sh
wired_mininet_topo.py
wired_tcp iperf.png
wired_topo.png

Ramon Fontes

unread,
Oct 17, 2017, 1:35:10 PM10/17/17
to pinyarash pinyoanutapong, mininet-wifi-discuss
I think I won't be able to reproduce the steps. According the command you're using a remote controller and champ.py isn't attached.

I tried to run mesh_* files and it didn't work. H1 cannot ping h2.

Sent from my android

Ramon Fontes

unread,
Oct 17, 2017, 1:51:16 PM10/17/17
to pinyarash pinyoanutapong, mininet-wifi-discuss
Ok. h1 pings h2. However, changes in flows.sh are required, because the flows aren't going to the second interface. You will notice some difference when 'output=flood'.

pinyarash pinyoanutapong

unread,
Oct 17, 2017, 3:18:09 PM10/17/17
to Ramon Fontes, mininet-wifi-discuss
Sorry for confusion,
For the wired mininet,
Please use "sudo mn --custom wired_mininet_topo.py --topo fvtopo --mac --switch ovsk --controller remote  --link tc  -x " to start topology.
To test bandwidth aggregation on wired mininet, please use H1 and H3.

With normal ping, the flows will not get split due to the hash function. You need to generate different flows by using this iperf command

"iperf -s" on H1 and "iperf -c 10.0.0.1 -P 2" on H2

I dont have any rules which has output=flood. Could you please clarify this?

Thank you for your time.

pinyarash pinyoanutapong

unread,
Oct 17, 2017, 3:35:11 PM10/17/17
to Ramon Fontes, mininet-wifi-discuss
Here is modified wired_mininet_flows.sh.
wired_mininet_flows.sh

Ramon Fontes

unread,
Oct 17, 2017, 3:38:52 PM10/17/17
to pinyarash pinyoanutapong, mininet-wifi-discuss
output=flood was just a suggestion.

Regarding your code and by using ifstat:

ifstat -i ap1-mp2,ap2-mp2
     ap1-mp2             ap2-mp2      
 KB/s in  KB/s out   KB/s in  KB/s out
 4382.28    177.93    107.35   4535.50
 4550.73    175.44    105.06   4679.94
 4231.78    170.61    104.10   4389.71
 4555.10    173.67    104.50   4717.90
 4428.11    171.44    103.14   4552.24
 4518.40    168.17    100.82   4664.91
 4412.03    168.98    101.70   4540.26
 4451.67    164.89     98.59   4596.24
 4491.78    189.10    115.95   4622.32
 4392.65    162.34     96.71   4541.60
 4417.81    172.16    104.66   4585.70
 4435.87    167.66     99.49   4569.35
 4504.21    188.81    115.07   4639.67
 4403.19    163.06     97.81   4575.22
 4471.11    177.08    107.49   4605.61
 4471.12    164.93     98.46   4626.90
 4487.40    176.29    106.80   4617.82
 4471.05    182.68    110.26   4566.04
 4401.76    170.53    103.33   4592.00
 4534.47    172.79    103.81   4666.25
 4423.79    165.38     99.23   4573.63
 4533.00    176.54    106.70   4666.26
etc..

--
You received this message because you are subscribed to the Google Groups "mininet-wifi-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mininet-wifi-discuss+unsub...@googlegroups.com.

To post to this group, send email to mininet-wifi-discuss@googlegroups.com.

Ramon Fontes

unread,
Oct 17, 2017, 4:47:07 PM10/17/17
to pinyarash pinyoanutapong, mininet-wifi-discuss
This is the full output:

ifstat -i ap1-mp2,ap2-mp2,ap1-mp3,ap2-mp3
     ap1-mp2             ap2-mp2             ap1-mp3             ap2-mp3      
 KB/s in  KB/s out   KB/s in  KB/s out   KB/s in  KB/s out   KB/s in  KB/s out
    0.00      0.00      0.00      0.00   4496.09    176.75    107.23   4619.16
    0.00      0.00      0.00      0.00   4531.45    170.64    102.33   4681.39
    0.00      0.00      0.00      0.00   4532.80    175.93    106.24   4704.04
    0.00      0.00      0.00      0.00   4488.81    184.00    111.76   4593.41
    0.00      0.00      0.00      0.00   4491.51    185.41    112.74   4632.68
    0.00      0.00      0.00      0.00   4527.28    167.57     99.84   4701.40
    0.00      0.00      0.00      0.00   4571.38    168.58    101.24   4725.53
    0.00      0.00      0.00      0.00   4486.00    178.86    108.24   4617.89
    0.00      0.00      0.00      0.00   4532.48    168.73    101.41   4693.08
    0.00      0.00      0.00      0.00   4519.60    172.46    103.01   4657.03
    0.00      0.00      0.00      0.00   4478.25    196.44    120.52   4593.21
    0.00      0.00      0.00      0.00   4513.94    182.38    110.24   4698.30
    0.00      0.00      0.00      0.00   4503.73    168.86    100.82   4700.02
    0.00      0.00      0.00      0.00   4557.92    168.51     99.93   4705.58
    0.00      0.00      0.00      0.00   4513.79    176.51    107.71   4651.05
    0.00      0.00      0.00      0.00   4524.63    183.48    111.48   4650.04
    0.00      0.00      0.00      0.00   4482.06    175.07    104.55   4618.40
    0.00      0.00      0.00      0.00   4525.39    183.57    110.94   4700.97

I think the rule isn't working as you expect.

To unsubscribe from this group and stop receiving emails from it, send an email to mininet-wifi-discuss+unsubscrib...@googlegroups.com.

To post to this group, send email to mininet-wifi-discuss@googlegroups.com.

pinyarash pinyoanutapong

unread,
Oct 17, 2017, 5:38:37 PM10/17/17
to Ramon Fontes, mininet-wifi-discuss
From H2, please use parallel option in iperf to generate two different flows simultaneously.
("Iperf -c 10.0.0.1 -P 2")
Then, we can see the traffic got split among two wireless interfaces but it did not aggregated.

Here is the output.

 ap1-mp2             ap2-mp2             ap1-mp3             ap2-mp3     
 KB/s in  KB/s out   KB/s in  KB/s out   KB/s in  KB/s out   KB/s in  KB/s out
    0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
 1916.00     75.76     45.20   2029.61   1805.13     72.16     42.57   1882.06
 2490.79     97.30     57.41   2585.99   1803.42     74.96     45.38   1985.13
 2914.92    111.00     67.11   3075.69   1413.12     63.73     38.64   1508.94
 2481.76    101.11     60.35   2588.87   1917.12     71.54     42.03   2018.46
 2503.79    100.47     60.95   2632.83   1951.00     86.01     52.31   2102.01
 3214.81    120.78     71.94   3323.45   1105.60     41.94     25.04   1165.11
 2579.15    111.40     66.56   2713.35   1653.49     69.69     42.21   1798.77
 2901.39    121.19     71.94   3029.82   1285.89     56.11     33.60   1399.31
 3023.97    114.85     68.61   3133.15   1336.10     54.79     32.65   1405.35
 2754.90    107.45     64.34   2894.28   1594.71     66.93     39.52   1689.72
  910.34     42.79     26.72    993.08    724.16     31.72     20.12    787.81
    0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00


Ramon Fontes

unread,
Oct 17, 2017, 5:53:21 PM10/17/17
to pinyarash pinyoanutapong, mininet-wifi-discuss
I'm using -P 2, but sometimes it works, sometimes it doesn't work. 

#1
alpha@alpha-Inspiron:~$ ifstat -i ap1-mp2,ap2-mp2,ap1-mp3,ap2-mp3
    ap1-mp2             ap2-mp2             ap1-mp3             ap2-mp3      
 KB/s in  KB/s out   KB/s in  KB/s out   KB/s in  KB/s out   KB/s in  KB/s out
 1815.83     73.16     44.37   1857.96   2544.23     97.10     58.54   2628.81
 1674.43     68.38     41.54   1721.57   2860.12    108.76     65.47   2944.76
 2340.22     88.71     53.24   2418.86   2061.16     87.67     53.36   2095.23
 2732.60     99.27     60.14   2875.85   1830.10     66.43     39.21   1883.29
 2891.11    110.48     65.53   2917.39   1497.23     60.20     36.60   1568.10

#2
alpha@alpha-Inspiron:~$ ifstat -i ap1-mp2,ap2-mp2,ap1-mp3,ap2-mp3
     ap1-mp2             ap2-mp2             ap1-mp3             ap2-mp3      
 KB/s in  KB/s out   KB/s in  KB/s out   KB/s in  KB/s out   KB/s in  KB/s out
 4533.14    179.68    108.94   4695.30      0.04      0.08      0.04      0.08
 4348.81    181.32    109.64   4499.52      0.00      0.00      0.00      0.00
 4468.19    179.52    108.37   4633.00      0.00      0.00      0.00      0.00
 4311.52    171.80    103.03   4465.71      0.10      0.13      0.10      0.13
 4582.17    166.51     99.14   4753.33      0.00      0.00      0.00      0.00

Ramon Fontes

unread,
Oct 17, 2017, 6:01:08 PM10/17/17
to pinyarash pinyoanutapong, mininet-wifi-discuss
Regarding parallel TCP, aren't the results similar to this - starting from "Another test to do is run parallel TCP streams"? 

pinyarash pinyoanutapong

unread,
Oct 17, 2017, 6:01:55 PM10/17/17
to Ramon Fontes, mininet-wifi-discuss
Thank you for verifying that,
I also observed this problem. This problem also occurred in wired-mininet and my physical testbed sometimes. It happens because of hash algorithms of OVS. Sometimes, it does not work correctly.

However, when the traffic got split in mini-wifi, it did not get aggregated bandwidth  like in wired-mininet and physical testbed.

Ramon Fontes

unread,
Oct 17, 2017, 6:22:55 PM10/17/17
to pinyarash pinyoanutapong, mininet-wifi-discuss
Thank you. I didn't know about that. ;) Could you point me any reference where I can learn more about this issue?

Sent from my android

pinyarash pinyoanutapong

unread,
Oct 17, 2017, 6:33:42 PM10/17/17
to Ramon Fontes, mininet-wifi-discuss
From my testing experience , I assumed that it is because of hash function in OVS. Since i saw this behavior in wired-miniet and physical testbed. I don't have any reference. Because my goal is to verify  that when two different flows go to two different interfaces, total bandwidth is increased.

Ramon Fontes

unread,
Oct 17, 2017, 9:16:18 PM10/17/17
to pinyarash pinyoanutapong, mininet-wifi-discuss
I think this is related to tcp-segmentation-offload. I cannot even set rx-checksumming/rx-checksumming to "on" on wlan interface. For example: ethtool -K wlp2s0 gro off tx on rx on.

Udp seems to work fine (I tested -b 10M - wmediumd hangs/causes segmentation fault when the bandwidth is higher than that supported by the interface on a given moment).

What it the output for sudo ethtool -k $yourwlaninterface$? I am short on time to fix it and any help is welcome. I just disabled tx/rx for wlan inteface with this commit, since it's not working at all

alpha@alpha-Inspiron:/home/alpha/Downloads$ sudo ethtool -k wlp2s0
Features for wlp2s0:
rx-checksumming: off [fixed]
tx-checksumming: off
tx-checksum-ipv4: off [fixed]
tx-checksum-ip-generic: off [fixed]
tx-checksum-ipv6: off [fixed]
tx-checksum-fcoe-crc: off [fixed]
tx-checksum-sctp: off [fixed]
scatter-gather: off
tx-scatter-gather: off [fixed]
tx-scatter-gather-fraglist: off [fixed]
tcp-segmentation-offload: off
tx-tcp-segmentation: off [fixed]
tx-tcp-ecn-segmentation: off [fixed]
tx-tcp-mangleid-segmentation: off [fixed]
tx-tcp6-segmentation: off [fixed]
udp-fragmentation-offload: off [fixed]
generic-segmentation-offload: off [requested on]
generic-receive-offload: on
large-receive-offload: off [fixed]
rx-vlan-offload: off [fixed]
tx-vlan-offload: off [fixed]
ntuple-filters: off [fixed]
receive-hashing: off [fixed]
highdma: off [fixed]
rx-vlan-filter: off [fixed]
vlan-challenged: off [fixed]
tx-lockless: off [fixed]
netns-local: on [fixed]
tx-gso-robust: off [fixed]
tx-fcoe-segmentation: off [fixed]
tx-gre-segmentation: off [fixed]
tx-gre-csum-segmentation: off [fixed]
tx-ipxip4-segmentation: off [fixed]
tx-ipxip6-segmentation: off [fixed]
tx-udp_tnl-segmentation: off [fixed]
tx-udp_tnl-csum-segmentation: off [fixed]
tx-gso-partial: off [fixed]
tx-sctp-segmentation: off [fixed]
fcoe-mtu: off [fixed]
tx-nocache-copy: off
loopback: off [fixed]
rx-fcs: off [fixed]
rx-all: off [fixed]
tx-vlan-stag-hw-insert: off [fixed]
rx-vlan-stag-hw-parse: off [fixed]
rx-vlan-stag-filter: off [fixed]
l2-fwd-offload: off [fixed]
busy-poll: off [fixed]
hw-tc-offload: off [fixed]

pinyarash pinyoanutapong

unread,
Oct 18, 2017, 11:29:22 AM10/18/17
to Ramon Fontes, mininet-wifi-discuss
Here is my output,

wifi@wifi-VirtualBox:~$ sudo ethtool -k ap1-mp2
Features for ap1-mp2:

rx-checksumming: off [fixed]
tx-checksumming: off
    tx-checksum-ipv4: off [fixed]
    tx-checksum-ip-generic: off [fixed]
    tx-checksum-ipv6: off [fixed]
    tx-checksum-fcoe-crc: off [fixed]
    tx-checksum-sctp: off [fixed]
scatter-gather: off
    tx-scatter-gather: off [fixed]
    tx-scatter-gather-fraglist: off [fixed]
tcp-segmentation-offload: off
    tx-tcp-segmentation: off [fixed]
    tx-tcp-ecn-segmentation: off [fixed]
    tx-tcp6-segmentation: off [fixed]
udp-fragmentation-offload: off [fixed]
generic-segmentation-offload: off [requested on]
generic-receive-offload: off

large-receive-offload: off [fixed]
rx-vlan-offload: off [fixed]
tx-vlan-offload: off [fixed]
ntuple-filters: off [fixed]
receive-hashing: off [fixed]
highdma: off [fixed]
rx-vlan-filter: off [fixed]
vlan-challenged: off [fixed]
tx-lockless: off [fixed]
netns-local: on [fixed]
tx-gso-robust: off [fixed]
tx-fcoe-segmentation: off [fixed]
tx-gre-segmentation: off [fixed]
tx-ipip-segmentation: off [fixed]
tx-sit-segmentation: off [fixed]
tx-udp_tnl-segmentation: off [fixed]

fcoe-mtu: off [fixed]
tx-nocache-copy: off
loopback: off [fixed]
rx-fcs: off [fixed]
rx-all: off [fixed]
tx-vlan-stag-hw-insert: off [fixed]
rx-vlan-stag-hw-parse: off [fixed]
rx-vlan-stag-filter: off [fixed]
l2-fwd-offload: off [fixed]
busy-poll: off [fixed]
hw-tc-offload: off [fixed]

Could you please provide me some information on how to modify the code so that i can enable these parameters.

Ramon Fontes

unread,
Oct 18, 2017, 11:32:15 AM10/18/17
to pinyarash pinyoanutapong, mininet-wifi-discuss
You don't have to change the code at first moment. If you can enable them manually, just let me know.

Sent from my android

Ramon Fontes

unread,
Oct 19, 2017, 9:31:54 PM10/19/17
to pinyarash pinyoanutapong, mininet-wifi-discuss
Could you try this code with Mininet? First, h1 and h2 and then h3 and h4, simultaneously with h1 and h2, of course. What is the result of the bandwidth there?

pinyarash pinyoanutapong

unread,
Oct 19, 2017, 10:11:53 PM10/19/17
to Ramon Fontes, mininet-wifi-discuss
Here is my output,

1. Bandwidth of H1 and H2 is 58.9 Gbits/s
2. Bandwidth of H3 and H4 simultaneously with H1 and H2 is 29.0 Gbits/sec
2. Bandwidth of H1 and H2 simultaneously with H3 and H4 is 31.0 Gbits/sec


Ramon Fontes

unread,
Oct 19, 2017, 11:00:03 PM10/19/17
to pinyarash pinyoanutapong, mininet-wifi-discuss
Ok. The problem is with wmediumd. I'm trying to figure out how to solve it.

pinyarash pinyoanutapong

unread,
Oct 20, 2017, 3:00:34 PM10/20/17
to Ramon Fontes, mininet-wifi-discuss
Thank you for sharing the information.

Ramon Fontes

unread,
Oct 20, 2017, 7:00:13 PM10/20/17
to pinyarash pinyoanutapong, mininet-wifi-discuss
Dear,

Wmediumd only has the notion of a single wireless medium so all nodes will interfere with each other (even if they are hidden from each other, since wmediumd doesn't internally have the concept of distance or separate collision domains). Right now there's basically one queue that all packets go through (prioritized by AC, but otherwise a single queue).  So we'd need to have a smarter scheduler to support that properly. However, for a quick development, partitioning the non-overlapping stas into multiple lists, and then merging them in order of expiration time inside rearm_timer/deliver_frame might get something similar to the results we expect. - Bob said.

Wmediumd can be extended from my source code repository, since many features are only supported by my repo. There is only one file that you must change and you can find it here - starting from queue_frame.

I'll appreciate any contribution on this matter.

Regards,
Ramon

pinyarash pinyoanutapong

unread,
Oct 20, 2017, 9:38:00 PM10/20/17
to Ramon Fontes, mininet-wifi-discuss
Thank you for sharing information,

I will try to look at it.

Regards
Reply all
Reply to author
Forward
0 new messages