Gatewayfirmware/Batman

Aus Freifunk Franken
Version vom 24. Februar 2020, 11:53 Uhr von ChristianD (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „Mit einen Trick kann mit der offiziellen Gatewayfirmware dennoch Batman-adv Router angeschlossen werden. Der physikalische Aufbau sieht so aus das am Layer 3…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu:Navigation, Suche

Mit einen Trick kann mit der offiziellen Gatewayfirmware dennoch Batman-adv Router angeschlossen werden.

Der physikalische Aufbau sieht so aus das am Layer 3 Router mit einem Clientport ein erster Batman-adv Node ebenfalls mit dem Clientport verbunden wird. Hier darf nur ein einzelner Batman-adv Node so verbunden werden da es sonst zu loops führen kann (wirklich? Muss ich nochmal überlegen aber sicher ist sicher). Von diesen 1. Batman-adv Node kann dann wie früher auch ganz normal per Batman-adv weiter gemesht werden, per Kabel (Batman an Batman) oder auch WLAN Mesh.

Da keine Hoodfile vom Gateway ausgeliefert wird, müssen alle Nodes in dieser Hood eine feste Hoodfile unter /etc/hoodfile bekommen

Weiterhin gibt es keinen Router der sich in der Gateway Selection als Batman-adv Gateway ausgibt, somit würde DHCP nicht funktionieren. Eine mögliche Lösung ist, auf allen Batman-adv Nodes die Gatewayselection einfach abzuschalten. Dazu die Datei /usr/lib/micron.d/fff-batman-adv auf allen Batman-adv Nodes folgendermaßen anpassen:

*/1 * * * * /usr/sbin/batctl gw off

Vermutlich wäre es auch möglich, das der initiale Knoten (der oben mit Client am Gateway verbunden ist) sich selbst als Gateway announced. Dies hab ich aber noch nicht ausprobiert.

Ebenfalls funktioniert so die Clientzählung nicht richtig, da das Layer 3 Gateway alle Clients vom ersten Node zählt und der erste Node vom Layer 3 Gateway. Ich hab mich damit beholfen, da das Gateway wirklich nur Gateway ist und keine Clients hat im Nodewatcher einfach dort fest 0 Clients einzutragen.

Dazu in /usr/sbin/nodewatcher

Die Zeile:

 
dataclient="$dataclient<$clientif>$cc</$clientif>"

ändern in

dataclient="$dataclient<$clientif>0</$clientif>"

und die Zeilen

    DATA=$DATA"<client_count>$client_count</client_count>"
    DATA=$DATA"<clients>$dataclient</clients>"

ändern in

    DATA=$DATA"<client_count>0</client_count>"
    DATA=$DATA"<clients>0</clients>"

Zu beachten gilt, das im Monitoring die Linie zwischen den Layer 3 Knoten und den ersten Node fehlt.