HWMP design on a Linux supported wireless network device

Regards sir,

I am currently working on a Linux supported wireless network device. Now I can create a mesh point on my device using system commands and configure it to use the BATMAN routing algorithm. Below is shown how I created a mesh point and configured it to use the BATMAN routing protocol.

System commands I use to create a mesh point;

iw reg set US
iw reg reload
ip link set wlan0 down
iw dev wlan0 set type mesh
ip link set wlan0 up
iw dev wlan0 set channel 149 80MHz
iw dev wlan0 mesh join kkca 2>&1

What I did for the mesh point I created to use BATMAN;

batctl if add wlan0
ip link set bat0 down
ip link set bat0 type batadv
ip link set bat0 up
batctl gw server

Adding the "bat0" interface to a bridge named "br-lan" in my device;

brctl addif br-lan bat0
bridge vlan add dev bat0 vid 1 pvid untagged

After making the settings I mentioned above, I can connect and communicate with BATMAN between the two devices. Now, I want to do similar events between two devices using the HWMP routing protocol. As a result of my research, it is said that "batman-adv" must be installed on my device in order to use HWMP. "batman-adv" is already installed on my device (as I mentioned, I can run BATMAN.) As a result of my research, I read that I can configure HWMP with batctl commands. But when I configure HWMP using batctl, I only see "BATADV_IV_OGM" packages. My question is, is it possible to configure HWMP using "batclt"? How can I do this if possible? Or is there another way you would suggest?

Thank you very much for your interest in advance. Kind regards,

HWMP (or Hybrid Wireless Mesh Protocol) is the layer 2 mac-routing protocol used on 802.11s mesh networks.
It is probably worth reading the OpenWrt user guide:

Batman is generally used where sophisticated layer 3 ip routing is required, for example on a city scale mesh with multiple Internet gateways or on networks requiring vlan trunking and/or cabled sections of backhaul.

I am assuming you are wanting to configure your Linux device to connect to an HWMP 802.11s mesh, given your list of IW commands.

Generally, in a batman mesh, HWMP is effectively turned off because Batman does not use it as it is concerned with layer 3 routing rather than layer 2 mac-routing.

It would be interesting to hear more about what you are trying to achieve if you would care to share it!

Yes, your suggestion is true, ı'm assuming that I will configure my Linux device to connect to an HWMP 802.11s mesh with IW commands. Now ı will read the OpenWrt user guide and ı will share my experiments here.

A good way to test this is to first create a small 802.11s mesh of OpenWrt mesh nodes, one being a gateway, ie a router with an upstream wan connection to the Internet.

It should just work.

The dhcp server on the gateway router will respond to dhcp requests from your 802.11s configured laptop and the default simple (layer 2) arp will "overlay" the ip layer 3 on top of the layer 2 HWMP mesh.

A good starting point is to look at:
iw dev wlan0 mesh_param dump
This works on the later versions of IW, if it does not for you then upgrading is advised but not essential.