Create multiple Mesh-point under same Wlan interface

209 views
Skip to first unread message

Manash Chakraborty

unread,
Mar 25, 2021, 6:34:09 PM3/25/21
to mininet-wifi-discuss
Hello,

I am trying to create multiple MP under same WLAN interface.

I am using the already available example script "meshAP.py" for that. 
There one "mp" is already created under each APs WLAN2 interface ( e.g ap1-mp2). I am trying to create and third one (e.g ap1-mp3) under the same ap1-wlan2 interface.

Used below mentioned commands on both APs ( used ap1 in place of ap2 for AP1 configuration).
===========================================
iw dev ap2-wlan2 interface add ap2-mp3 type mp
ip link set ap2-mp3 up
ethtool -K ap2-mp3 gro off
iw dev ap2-mp3 set txpower fixed 1600
ip link set ap2-wlan2 down
ip link set ap2-mp3 down
ip link set ap2-mp3 address 02:00:00:00:05:01
ip link set ap2-mp3 up
iw dev ap2-mp3 set channel 5
ip link set ap2-mp3 up
iw dev ap2-mp3 mesh join mesh-ssid100 freq 2432
ovs-vsctl add-port ap2 ap2-mp3 -- set Interface ap3-mp3 ofport_request=3
===============================================

Issue faced : 1> not able to use same MAC address for both MP. So used different ones.
                        2> not able to set a different frequency so used the same one.

But when after applying these commands use " iw dev ap2-mp3 station dump" to check any association there is none.

Can anyone please tell me where I am going wrong and how to create multiple mesh-point on single Wlan interface.

Thanks and Regards,
Manash

Ramon Fontes

unread,
Mar 25, 2021, 7:12:56 PM3/25/21
to Manash Chakraborty, mininet-wifi-discuss
This happens because wmediumd is not aware about the new interface. You can send the interface to wmediumd with sendIntfTowmediumd but a method responsible for creating the new interface has to be created.

--
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 view this discussion on the web visit https://groups.google.com/d/msgid/mininet-wifi-discuss/960a7f8c-d503-4706-8773-013b27b79b93n%40googlegroups.com.

Manash Chakraborty

unread,
Mar 25, 2021, 8:32:13 PM3/25/21
to mininet-wifi-discuss
Hello Ramon,

I will try to do it.

But I have one doubt, on the "meshAP.py " script I commented out these two lines 
==============================

# net.addLink(ap1, intf='ap1-wlan2', cls=mesh, ssid='mesh-ssid', channel=5)

# net.addLink(ap2, intf='ap2-wlan2', cls=mesh, ssid='mesh-ssid', channel=5)
==============================

And ran the script, then opening the xterm terminals for both AP's executed the below commands  ( used ap1 in place of ap2 for AP1 configuration).
===========================================
iw dev ap2-wlan2 interface add ap2-mp2 type mp
ip link set ap2-mp2 up
ethtool -K ap2-mp2 gro off
iw dev ap2-mp2 set txpower fixed 1500
ip link set ap2-wlan2 down
ip link set ap2-mp2 down
ip link set ap2-mp2 address 02:00:00:00:05:00
ip link set ap2-mp2 up
iw dev ap2-mp2 set channel 5
ip link set ap2-mp2 up
iw dev ap2-mp2 mesh join mesh-ssid freq 2432
ovs-vsctl add-port ap2 ap2-mp2 -- set Interface ap2-mp2 ofport_request=2
===============================================
 It worked for creation of only "mp2" interfaces for both "ap1" and "ap2" but for "mp3" had same issue.

I am a bit confused as for the creation of first mesh-point (mp2) I am not calling wmediumd  but its working.  so, is it like mininet-wifi itself calls wmediumd  for first time and for any more we need to call it. OR only in the case of more than one times we need to use wmediumd. I may be wrong on both assumptions.

Thanks and Regards,
Manash

Ramon Fontes

unread,
Mar 25, 2021, 8:45:50 PM3/25/21
to Manash Chakraborty, mininet-wifi-discuss
Wasn't 02:00:00:00:05:00 the mac address of ap2-wlan0?

Sent from my android

Manash Chakraborty

unread,
Mar 25, 2021, 8:52:24 PM3/25/21
to mininet-wifi-discuss
02:00:00:00:05:00 is the mac address of ap2-wlan2. 

Ramon Fontes

unread,
Mar 25, 2021, 8:58:53 PM3/25/21
to Manash Chakraborty, mininet-wifi-discuss
Ops! I meant ap2-wlan2. This explains the issue: that mac address was sent to wmediumd when you started the code and then you just changed its operation mode. In the case of ap3 you are creating a new interface with a new mac address.

Sent from my android

Manash Chakraborty

unread,
Mar 26, 2021, 4:40:54 PM3/26/21
to mininet-wifi-discuss
Hello Ramon,

Thank you for explaining the issue. 

I am trying to build a scenario where there are multiple mesh networks on a single WLAN interfaec.

So, is there any method by which I can create multiple mesh interface under a single WLAN interface. 
For example -- ap1-mp2, ap1-mp3, ap1-mp4 under interface ap1-wlan2.

I am able to add multiple interface and set type mesh using " is dev <int_name> interface add <int_name> type mesh". But they won't connect. 
And if I am understanding correctly when we are using wmediumd it is adding a new WLAN interface.

Thanks and Regards,
Manash 

Ramon Fontes

unread,
Mar 28, 2021, 12:37:58 PM3/28/21
to Manash Chakraborty, mininet-wifi-discuss
This might help you: https://mn-wifi.readthedocs.io/en/latest/links.html#mesh-link

Please consider having the most recent commit:
> git pull
> sudo make install

Manash Chakraborty

unread,
Mar 31, 2021, 8:03:55 AM3/31/21
to mininet-wifi-discuss
Hello Ramon,

I did a fresh installation of mininet-wifi.

To build multiple mesh interface I tried changing the below line in meshAP.py script.
====================================================
net.addLink(ap2, intf='ap2-wlan2', cls=mesh, ssid='mesh-ssid', channel=5)
====================================================
to
====================================================
net.addLink(ap2, cls=mesh, ssid='meshNet', vIface=True, intf='ap2-wlan0', channel=5, ht_cap='HT40+')
====================================================

But when I am running the code I am getting error.
==========================================
ValueError: 'ap2-mp2' not in list
==========================================

Attached is the screenshot of the error.
Screenshot 2021-03-31 140247.jpg

Ramon Fontes

unread,
Mar 31, 2021, 8:10:31 AM3/31/21
to Manash Chakraborty, mininet-wifi-discuss
You first add the link without vIface and then you add vIface from the second link and so on... For example:

net.addLink(ap2, intf='ap2-wlan2', cls=mesh, ssid='mesh-ssid', channel=5)
net.addLink(ap2, intf='ap2-wlan2', cls=mesh, ssid='mesh-ssid', channel=5, vIface=True)
net.addLink(ap2, intf='ap2-wlan2', cls=mesh, ssid='mesh-ssid', channel=5, vIface=True)
...

Manash Chakraborty

unread,
Mar 31, 2021, 8:27:56 AM3/31/21
to mininet-wifi-discuss
I did as you said but now getting different error.
Attached is the screenshot for code change and error.

Code Change
===================
Mesh1.jpg

Error
=============
Mesh_error1.jpg

Ramon Fontes

unread,
Mar 31, 2021, 10:51:19 AM3/31/21
to Manash Chakraborty, mininet-wifi-discuss
Please do a git pull and sudo make install.

Manash Chakraborty

unread,
Apr 8, 2021, 7:53:02 AM4/8/21
to mininet-wifi-discuss

Hello Ramon,

Thank you for the change, now I am able to create multiple mesh interfaces. 

But i have few questions to ask. 

I am trying to simulate a scenario where each mesh interface will connect to different ssid. For that I used the below code on the meshAP.py script.

====================================================
    net.addLink(ap1, intf='ap1-wlan2', cls=mesh, ssid='mesh-ssid', channel=5)
    net.addLink(ap1, intf='ap1-wlan2', cls=mesh, ssid='mesh-ssid2', channel=5, vIface=True)
    net.addLink(ap1, intf='ap1-wlan2', cls=mesh, ssid='mesh-ssid3', channel=5, vIface=True)
    net.addLink(ap2, intf='ap2-wlan2', cls=mesh, ssid='mesh-ssid', channel=5)
    net.addLink(ap2, intf='ap2-wlan2', cls=mesh, ssid='mesh-ssid2', channel=5, vIface=True)
    net.addLink(ap2, intf='ap2-wlan2', cls=mesh, ssid='mesh-ssid3', channel=5, vIface=True)
====================================================

The script runs without error. But when I check mesh status using " iw dev <mesh_int> station dump"  I can only see connectivity on first mesh interface not other two. But if I use same mesh_id on all the mesh interfaces they all connect. 
I could not find a reason why this might be happening. 

Ramon Fontes

unread,
Apr 8, 2021, 7:56:55 AM4/8/21
to Manash Chakraborty, mininet-wifi-discuss
How can I reproduce that behaviour?

Manash Chakraborty

unread,
Apr 8, 2021, 10:12:52 AM4/8/21
to mininet-wifi-discuss
Attached is the meshAP.py script that I am using and the screenshot of the output of command " iw dev <mesh_int> station dump" for ap1. 

There you can see for ap1-mp2 the connection is established but not for ap1-mp3 and ap2-mp4. 

(If I use different ssid for mesh interfaces then only 1 connect but if same ssid used then all 3 interfaces connect.)

My linux machine kernel version is 5.4.0-42-generic. 
mesh_not_connecting.jpg
meshAP.py

Manash Chakraborty

unread,
Apr 18, 2021, 11:32:50 AM4/18/21
to mininet-wifi-discuss
Hello Ramon,

I am trying to build a scenario where there is 8 stations and two AP's. 4 stations connected to each AP and those AP have two WLAN interfaces 1st has 4 VSSID configured and 2nd WLAN has 4 mesh link to another AP.

As on mininet AP I am not able to create multiple mesh link and VSSID at same time I placed VSSID on AP3 and AP4 and linked AP1 and AP2 with wired link to AP3 and AP4.


Now coming to the issues I am facing.

1> Unable to give different mesh ssid on virtual mesh interfaces.
2> When useing the same mesh ssid on virual mesh interfaces mesh_pint inerfaces seems to connect. I can see output when useing "iw dev <mesh interface> station dump". I tried to seperate traffic useing OVS flow control method to seperate traffic on each mesh interface.
But there is no communication.


Below is the attached the program file I used. 

While testing u can try ping from sta1 to sta2 that works as traffic passes from "ap1-mp2" and "ap2-mp2". But for other scenarios like while pinging sta3 to sta4 I can see ICMP packets on "ap1-mp3" but not received on "ap2-mp3". There is no error showing up when running the program.

Can you please take a look.

Thanks and Regards,
Manash
local_multi_mesh_test.py

Ramon Fontes

unread,
Apr 18, 2021, 1:08:58 PM4/18/21
to Manash Chakraborty, mininet-wifi-discuss
Hello Manash,

Can you confirm that mac80211 and 802.11s support multiple SSIDs? In other words, can 802.11s broadcast multiple SSIDs?

Manash Chakraborty

unread,
May 3, 2021, 2:03:38 PM5/3/21
to mininet-wifi-discuss
Hello Ramon,

Sorry for such a delayed reply.

As per the "iw" documentation depending on the driver we should be able to create multiple wireless interfaces on a single wireless card and connect them to different networks.
iw.jpg



I also checked on my VM where I am running mininet-wifi using "iw phy" there are 2048 of interface combinations that seem to be supported.
commbinations.jpg

If I am not understanding these wrongly, we should be able to create multiple mesh SSID links between two AP's. 

+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=

I created a scenario where there are 4 AP's (ap1,ap2,ap3,ap4). AP1 and AP2 will have 4 virtual mesh interfaces and they should ideally join separate mesh network.

                             AP1                                       AP2
            ap1-mp2(mesh-ssid)            ap1-mp2(mesh-ssid)              Successfully connected
           ap1-mp2(mesh-ssid1)          ap1-mp2(mesh-ssid1)            Not connected
           ap1-mp2(mesh-ssid2)          ap1-mp2(mesh-ssid2)            Not connected
           ap1-mp2(mesh-ssid3)          ap1-mp2(mesh-ssid3)            Not connected

Attached is the file u can use to replicate. Also attached is the wireshark capture file.( AP1_AP2_MAC_changed_multi_MESH_2)

On the wireshark packed you can see all the virtual interfaces sending their beacon's ( for example from packet number 13 to 20). Of all the mesh interface only "ap1-mp2" and "ap2-mp2" connect.

Note: On the wireshark file (AP1_AP2_MAC_changed_multi_MESH) the MAC address is different from the program as I manually changed them after running the program, as a MAC address like (02:02:00:00:00:09:00) seems to be reserved for MS-NLB-PhysServe. Though I think it should cause no issue. 

Regards, 
Manash
Scenario3.rar

Ramon Fontes

unread,
May 3, 2021, 10:39:39 PM5/3/21
to Manash Chakraborty, mininet-wifi-discuss
Hello Manash,

I think the scenario you have to run is a little bit different. The mesh interface is already a virtual interface created from the "physical one". And you wish to create more virtual interfaces from the virtual mesh interface. You're creating a new virtual interface from the mp and not wlan.

--
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.
Message has been deleted
Message has been deleted

Manash Chakraborty

unread,
May 4, 2021, 4:33:21 PM5/4/21
to mininet-wifi-discuss
Hello Ramon,

My objective is to create multiple "mesh point" interfaces under same "physical interface". 

Mininet-wifi is useing "iw dev <devname> interface add <devname> type mp" to create all the mesh interfaces if I am not wrong. 

Just like when we configure the "vssids" multiple "ap" virtual interfaces are created under same physical interface. I want to create "mesh point" interfaces.

How to do this in mininet-wifi ?

Thanks and Regards,
Manash

Ramon Fontes

unread,
May 5, 2021, 9:30:03 AM5/5/21
to Manash Chakraborty, mininet-wifi-discuss

Manash Chakraborty

unread,
May 10, 2021, 6:43:32 AM5/10/21
to mininet-wifi-discuss
Hello Ramon,

Thank you for help and support.

If I understood it correctly, the  open80211s does not yet support multiple mesh IDs on a single wifi interface. 

Thanks and Regards,
Manash
Reply all
Reply to author
Forward
0 new messages