Gateways Priorisieren

Hi Leute, wir betreiben zur zeit 4 Gateways,

gibt es die möglichkeit dem netz mitzuteilen dass G02 und G03 hauptsächlich verwendet werden sollen und nur wenn nötig 1 und 4?

Danke schon mal

Das geht mit der TQ-Einstellung des Gateways:

Zum Beispiel so:

supernode-big $ batctl gw server 1
supernode-small $ batctl gw server 2

Mehr Infos dazu findest du in der Manpage von batctl.

Wenn Router via fastd an supernode-small hängen und nur einen fastd-Tunnel aufbauen, dann wird die Last auf supernode-small durch ein

nicht abnehmen.

1 „Gefällt mir“

[quote=„kantorkel, post:4, topic:6881“]
Wenn Router via fastd an supernode-small hängen und nur einen fastd-Tunnel aufbauen[/quote]

Dito wenn sie per fastd zufällig an 1 & 4 im initialen Beispiel hängen, und fast kann man AFAIK nach wie vor nicht wirklich steuern. Hier ist dann ein peer limit 50; o. ä. geboten, dann nimmt der jeweilige fastd nur soviele Verbindungen von Knoten an. Auf 2 & 3 sollte diese Direktive dann natürlich fehlen.
Auch wichtig zu beachten: die Gateways müssen sich ja untereinander unterhalten, typischerweise via fastd. Ergo muß eine separate Konfiguration für gw-gw-Kommunikation geschaffen werden, sonst fallen ggf. gw-gw-Verbindungen dem Peer-Limit zum Opfer :wink:

Supernodes lassen sich per Design nicht priorisieren, da die Wahl beim Client liegt kann man nur versuchen den Nodes gewisse Gateways weniger schmackhaft zu machen.

Es lässt sich aber Abhilfe schaffen indem man:

  • Ein Peer Limit auf der Fastd Instanz setzt
  • Maximal 1 Fastd Verbindung pro Node aufbaut (2 Verbindungen bringen rein gar nichts, auch keine Ausfallsicherheit)
  • Supernodes via zweiter Instanz miteinander sprechen lassen (Damit das Peer Limit nicht auf die Fastd Server zutrifft)
    Die Supernode-Verbindung ist dann ein zweites Interface in bat0. Hier kann auch das Rebroadcasting ausgeschaltet werden da jede Supernode eine direkte Verbindung untereinander hat.

Dies könnte man auch dynamisch machen indem man per Script das Peer Limit auf den Fastd Servern steuert. z.b. via CPU-Last, Netzwerk-Last oder anderen Indikatoren.