Repository : ssh://git@diktynna/doc
On branches: backup-redmine/2022-10-07,backup-redmine/2022-11-14,backup-redmine/2023-01-14,main
commit 57ba1941bb03067bdf7f963e5947e1d996c179f4 Author: Linus L��ssing linus.luessing@c0d3.blue Date: Mon Sep 26 18:20:00 2022 +0000
doc: batman-adv/OGM_Permeability
57ba1941bb03067bdf7f963e5947e1d996c179f4 batman-adv/OGM_Permeability.textile | 50 +++++++++++++++++++++++++++++++++++-- 1 file changed, 48 insertions(+), 2 deletions(-)
diff --git a/batman-adv/OGM_Permeability.textile b/batman-adv/OGM_Permeability.textile index 8c464879..eda15a8b 100644 --- a/batman-adv/OGM_Permeability.textile +++ b/batman-adv/OGM_Permeability.textile @@ -1,8 +1,54 @@ -h1. OGM Permeability +h1. OGMv2 Permeability
h2. Goal
-Reducing batman-adv OGM overhead in VPN connected network topologies, by not forwarding all OGMs. +Reducing BATMAN V OGMv2 overhead in VPN connected network topologies, by not forwarding all OGMs.
h2. Scenario
+!permeability-vpn-gw-scenario.png! + +_Independent WLAN mesh clouds, interconnected by gateways via VPNs._ + +h2. Idea + +With BATMAN V do not necessarily forward all OGMv2 messages from other nodes, but only forward an OGMv2 if a certain, configurable amount of sequence numbers has passed. + +Over the horizon of VPN gateways a timely update should not be that necessary. + +h3. Permeability Parameter + +<code><pre>batctl <meshif bat0|hardif wlan0> permeability [0-65535]</code></pre> + +h3. Permeability OGMv2 TVLV + +With BATMAN V it is easier to drop OGMv2 messages than with BATMAN IV. In BATMAN IV it was necessary to forward all OGMs as they were necessary to calculate the link metric. + +As is the hard limit for skipped sequence numbers would either be after BATADV_PURGE_TIMEOUT (200s). Or BATADV_TQ_GLOBAL_WINDOW_SIZE (5) sequence numbers, as otherwise if a mesh cloud is connected to two gateways, this could lead to route flapping. With packetloss involved, the potential, useable skipping range would further be reduced: 50% packetloss -> 2.5 sequence numbers. + +To allow a wider range of sequence numbers to skip a _Permeability OGMv2 TVLV_ can signalize other nodes on how many sequence numbers were skipped. This in turn allows others nodes receiving this TVLV _to adjust their BATADV_TQ_GLOBAL_WINDOW_SIZE_ for this specific originator. + +Examples: + +* Permeablity 0 = no TVLV/default -> global window: 5, 100% forwarded OGMv2's +* Permeability 5 -> global window: 10, 50% forwarded OGMv2's +* Permeability 10 -> global window: 15, 33% forwarded OGMv2's + +h3. Downsides + +... + +h2. Implementation + +h3. Permeability OGMv2 TVLV Format + +<pre><code> 0 1 2 3 + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | TVLV Type | TVLV Version | TVLV Length | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Permeability | Reserved | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +</code></pre> + +* Permeability: The maxmimum number of sequence numbers that were skipped by nodes along the OGMv2's path. \ No newline at end of file