Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revisionBoth sides next revision
docs:guide-user:network:wifi:mesh:batman [2021/10/19 11:51] – [batman-adv Options for bat0 (the main mesh interface)] danielriotdocs:guide-user:network:wifi:mesh:batman [2022/01/02 15:10] – [Installation] plural lastedit
Line 86: Line 86:
 To enable use of 802.11s mesh: To enable use of 802.11s mesh:
 <code> <code>
 +# Remove
 opkg remove wpad-basic opkg remove wpad-basic
 +opkg remove wpad-basic-wolfssl
 +
 +# Install
 opkg install wpad-mesh-openssl  # or wpad-mesh-wolfssl opkg install wpad-mesh-openssl  # or wpad-mesh-wolfssl
 </code> </code>
  
-If building/assembling your own image, you will need to remove the default ''wpad-basic'' as it conflicts with ''wpad-mesh=*''+If building/assembling your own image, you will need to remove the default ''wpad-basic'' as it conflicts with ''wpad-mesh-*''.  
 + 
 +[[https://github.com/openwrt/openwrt/commit/49cc712b44c76e99bfb716c06700817692975e05|As of September 2019]], ''wpad-openssl'' or ''wpad-wolfssl'' are //**also**// sufficient for 802.11s use and are the **full version** of ''wpad''
 + 
 +**Notes:** 
 +  - ''wpad-mesh-openssl'' and ''wpad-mesh-wolfssl'' are ''wpad-basic'' (trimmed ''wpad'') with support for ''802.11s'' (mesh). 
 +  - ''wpad-openssl'' and ''wpad-wolfssl'' are the **full version** of ''wpad'', they support ''802.11k'', ''802.11v'' and ''802.11s'' (mesh). 
 +  - The **full version** of ''wpad'' means that nothing was trimmed and ''wpad-basic'' is the trimmed version of ''wpad'', it was trimmed to reduce its size and can be installed on routers with **low memory**.
  
-''wpad'' (full) is //**not**// sufficient for 802.11s use. 
  
 ===== Configuration ===== ===== Configuration =====
Line 415: Line 425:
 | ''aggregated_ogms''       | boolean | ''1''                                         | ''0'', ''1''                                                          | **OGMs** AKA **Originator Messages** are messages used to determine the qualities needed to direct neighbors and spreading this message throughout the whole mesh, aggregating them reduces the number of packets being sent. | | ''aggregated_ogms''       | boolean | ''1''                                         | ''0'', ''1''                                                          | **OGMs** AKA **Originator Messages** are messages used to determine the qualities needed to direct neighbors and spreading this message throughout the whole mesh, aggregating them reduces the number of packets being sent. |
 | ''routing_algo''          | string  | ''BATMAN_IV''                                 | ''BATMAN_IV'' or ''BATMAN_V''                                         | Which routing algorithm to use - more info below but for now use ''BATMAN_IV'' until ''BATMAN_V'' is ready for actual use. | | ''routing_algo''          | string  | ''BATMAN_IV''                                 | ''BATMAN_IV'' or ''BATMAN_V''                                         | Which routing algorithm to use - more info below but for now use ''BATMAN_IV'' until ''BATMAN_V'' is ready for actual use. |
-| ''bonding''               | boolean | ''1''                                         | ''0'', ''1''                                                          | If some interfaces are similar in quality and speed, it's possible to distribute frames through them using Round Robin which shows a 50% throughput increase, but if the links aren't similar in speed and since it isn't detected by BATMAN_IV, you may actually lose throughput, so it should be done explicitly on known nodes. |+| ''bonding''               | boolean | ''0''                                         | ''0'', ''1''                                                          | If some interfaces are similar in quality and speed, it's possible to distribute frames through them using Round Robin which shows a 50% throughput increase, but if the links aren't similar in speed and since it isn't detected by BATMAN_IV, you may actually lose throughput, so it should be done explicitly on known nodes. |
 | ''fragmentation''         | boolean | ''1''                                         | ''0'', ''1''                                                          | Since batman-adv prepends its own headers and some clients aren't aware of that, packets are optimized for 1500 MTU even though 1528 is required, if it isn't possible with some devices fragmentation is used(the algorithm that handles fragmented data). | | ''fragmentation''         | boolean | ''1''                                         | ''0'', ''1''                                                          | Since batman-adv prepends its own headers and some clients aren't aware of that, packets are optimized for 1500 MTU even though 1528 is required, if it isn't possible with some devices fragmentation is used(the algorithm that handles fragmented data). |
 | ''gw_mode''               | string  | ''off''                                       | ''off'', ''client'', ''server''                                       | Gateway mode, if set to ''server'' other nodes are notified of that node's internet connection and **must** be complemented by ''gw_bandwidth'', that notifies the algorithm that server is one of the best paths for internet access. \\ If set to ''client'', the criteria by which batman-adv will choose a gateway(other nodes with ''gw_mode'' set as ''server'') is **required** to be set with ''gw_sel_class''. | | ''gw_mode''               | string  | ''off''                                       | ''off'', ''client'', ''server''                                       | Gateway mode, if set to ''server'' other nodes are notified of that node's internet connection and **must** be complemented by ''gw_bandwidth'', that notifies the algorithm that server is one of the best paths for internet access. \\ If set to ''client'', the criteria by which batman-adv will choose a gateway(other nodes with ''gw_mode'' set as ''server'') is **required** to be set with ''gw_sel_class''. |
Line 428: Line 438:
 | ''network_coding''              | boolean | ''1''                                   | ''0'', ''1''                                                          | Combine two packets into a single transmission, which saves air-time but **requires**: \\ -- At least 3 nodes to be effective \\ -- One node must act as a relay which has this option enabled \\ -- Relay must support Promiscuous mode (both receive and send) \\ -- Support MTU value of at least 1546. | | ''network_coding''              | boolean | ''1''                                   | ''0'', ''1''                                                          | Combine two packets into a single transmission, which saves air-time but **requires**: \\ -- At least 3 nodes to be effective \\ -- One node must act as a relay which has this option enabled \\ -- Relay must support Promiscuous mode (both receive and send) \\ -- Support MTU value of at least 1546. |
 | ''hop_penalty''                 | boolean | ''30''                                  | ''not specified''                                                     | Modify batman_adv's preference for multihop routes vs short routes, the value is applied to the TQ of each forwarded OGM, propagating the cost of an extra hop(packet must be received and re-transmitted), the higher it's the more unlikely other nodes will choose the current node as an intermediate hop towards any node, otherwise, a lower value will result in longer routes because re-transmissions aren't penalized. | | ''hop_penalty''                 | boolean | ''30''                                  | ''not specified''                                                     | Modify batman_adv's preference for multihop routes vs short routes, the value is applied to the TQ of each forwarded OGM, propagating the cost of an extra hop(packet must be received and re-transmitted), the higher it's the more unlikely other nodes will choose the current node as an intermediate hop towards any node, otherwise, a lower value will result in longer routes because re-transmissions aren't penalized. |
-| ''ap_isolation''                | boolean | ''1''                                   | ''0'', ''1''                                                          | Standard WiFi APs support AP Isolation, which prevents clients communicating with each other, if the WiFi AP interface is bridged into batman-adv mesh network, it might be desirable to extend this isolation throughout the mesh by enabling this option. |+| ''ap_isolation''                | boolean | ''0''                                   | ''0'', ''1''                                                          | Standard WiFi APs support AP Isolation, which prevents clients communicating with each other, if the WiFi AP interface is bridged into batman-adv mesh network, it might be desirable to extend this isolation throughout the mesh by enabling this option. |
 | ''isolation_mark''              | string  | ''0x00000000/0x00000000''               | ''0'', ''1''                                                          | An extension of ''ap_isolation'', it allows the user to decide which client is classified as isolated via firewall rules, increasing the flexibility of the isolation, batman-adv extracts the fwmark the firewall attached to each packet it receives through the soft-interface and decides based on that value if the source client is isolated or not, this value is defined as a ''value/mask'', in the firewall, a simple case is to mark all the packets coming with a fwmark using ''tc'', you then set the fwmark you've set with ''tc'' in this option for it to work. | | ''isolation_mark''              | string  | ''0x00000000/0x00000000''               | ''0'', ''1''                                                          | An extension of ''ap_isolation'', it allows the user to decide which client is classified as isolated via firewall rules, increasing the flexibility of the isolation, batman-adv extracts the fwmark the firewall attached to each packet it receives through the soft-interface and decides based on that value if the source client is isolated or not, this value is defined as a ''value/mask'', in the firewall, a simple case is to mark all the packets coming with a fwmark using ''tc'', you then set the fwmark you've set with ''tc'' in this option for it to work. |
  
  • Last modified: 2024/06/05 20:06
  • by bluewavenet