Meshing mit Freifunk Firmware geht über 5Ghz geht leider nicht zusammen mit dem Outdoor Mode. Da hast du recht. Das liegt da dran das das wegen DFS, sich die Router auf potentiell anderen Kanälen befinden können. Bis jetzt gibt es leider keinen Mechanismus bei dem die Router sich auf dem selben Kanal wieder finden können. Es gibt Ideen einen solchen Mechanismus zu entwickeln, dieser müsste jedoch relativ niedrig, auf WLAN Protokollebene.
Viele Hersteller haben hier eigene properitäre Lösungen gebaut, um Outdoor Richtfunkstrecken auf DFS Kanälen anzubieten. Eine Open Source Implementierung gibt es meines Wissens nach noch nicht.
Zu deinen Routing Fragen:
BATMAN Routet immer über den kürzesten Pfad, und ignoriert dabei weitestgehend potentielle Bandbreiten. BATMAN arbeitet mit sogenannten Originatornachrichten. Die Knoten senden diese Regelmäßig an alle Nachbarknoten per Broadcast. Durch die Originatornachrichten kennen sich die Knoten gegenseitig. Die Nachrichten enthalten auch Informationen über die Qualität des Links.
Wenn jetzt z.B. Pfade stark ausgelastet sind, kann es sein die Originatornachrichten verloren gehen. (Packet loss) BATMAN erkennt das und kann dann die Routen entsprechend anpassen.
Da die Originatornachrichten keine Informationen über die Bandbreite eines Links beinhalten, sondern nur über die Qualität kann es natürlich sein, das ein langsamerer Link bevorzug wird, obwohl ein schneller Pfad zur Verfügung steht.
Also wenn es Beispielhaft zwischen A - C 2Mbit/s theoretische Bandbreite gibt und zwischen A -B und B -C jeweils 10 Mbit/s als mögliche Kapazität, wird trotzdem A - C direkt geroutet, da die Verbindungsqualität die selbe ist. Die potenzielle Geschwindigkeit ist BATMAN nicht bekannt, die Latenz spielt eine untergeordnete Rolle.
Ist jetzt jedoch der Pfad A - C jetzt schlechter, und es gehen Originatornachrichten verloren, weil z.B. das WLAN schlechter ist und Pakete teilweise mehrfach gesendet werden müssen oder der Link saturiert ist, geht es recht schnell das der „stabile“ Pfad über A- B- C gewählt wird.
Das Verhalten von BATMAN kann man aber beeinflussen, in dem man die BATMAN Hop Penalty verändert, dann Gewichtet BATMAN einzelne Knoten anders, geringer oder höher, und man kann BATMAN so auf schnellere Pfade zwingen, auch wenn sie mehr Hops beinhalten.
Diese Einstellung ist allerdings ganz bewusst in Gluon nicht an den Enduser offen gelegt, da man sich doch recht schnell ins eigene Bein schießen kann, wenn das Mesh wächst, oder man nicht alle möglichen Pfade bedacht hat, so das man auf einmal einen Knoten hat, der weil seine Hop Penalty zu gering ist, auf einmal allen Traffic über sich schieben muss, obwohl alle Links Saturiert sind.