Bessere verteilung von knoten/clients auf SN unter fastD?

eine idee wie wir die Knoten (= Plasterouter) besser auf die Supernodes (=Gatewayserver) verteilen könnten.

wir nutzen fastd bei 2 gleichzeitigen verbindungen …
wir würden die Knoten einfach gern besser auf die Supernodes verteilen …
[ unter Statistik clients per Gateway, Knoten per Gateway ]
https://openfreiburg.de/freifunk/meshviewer/#!v:m

Moin,

der Tunneldigger kann die Auslastung des Gateways abfragen. Das hat derzeit noch einen kleinen Bug, der aber sicherlich auch noch gefixt wird. Dann balanciert das automatisch aus.

Grüße
Matthias

Für fastd würde mich das auch brennend interessieren.

Wir nutzen im Nord Netz nur eine Verbindung zum Gateway. Derzeit haben wir die maximalen Verbindungen pro Gateway auf 150 limitiert.

@Tarnatos , ja - sowas dachte ich nativ auch … auf die statistische durchnittswerte hoffen (clients per node) und dann auf xy knoten begrenzen.
@MPW tunneldigger=l2tp=unverschlüsselt - oder hab ich das falsch verstanden? ist dann hier in Freiburg keine Option.

Ich glaub wir versuchen mal sowas wie das …
das führt dann evtl trotzdem zu einer bevorzugung von einzelnen sn (bei 2 Verbindungen), schraubt aber die Menge der Verbingungen nach unten

#!/bin/bash
#
# script to distribute fastd peers (freifunk-router) more evenly over supernodes
# by adjusting the peer limit regulary
# suggesting cronjob for this script.

# fastdconfigfile
fastdconf=/etc/fastd/fastd.conf
# cheating + - something
penalty=20

plimit := 0
let plimit=(($(batctl o|wc -l)/$(batctl gwl -n -H|wc -l))*2)+$penalty
# Hint :    plimit = ( Anzahl_Knoten / Anzahl_GW * 2 ) + penalty

# things to remember :
# # all nodes connect to 2 supernodes (in fffr)
# # some supernodes need special mtu supernodes
# # the nodes with different batman version are seperate by default

# give some boundarys
if [ $plimit -ge 400 ] ; then logger "peer distritution script : exceed upper boundary"; exit 1 ; fi
if [ $plimit -le 50 ] ; then plimit=50; fi

sed -i -E s/'peer limit [0-9]+;'/"peer limit $plimit;"/g $fastdconf

# reload fastd
pkill -HUP -x fastd
logger "fastd restartet : peer limit set to $plimit with penalty of $penalty"

Vielleicht hilft das:

3 Likes

Hallo zusammen,
das ist mein erster Post im Forum. Basierend auf den Ideen hier und dem Input von fuzzle habe ich mal ein github repository für dieses script aufgesetzt, dass das script enthält. Das ist für code besser geeignet als ein Forum.
GitHub - christf/fastd-peer-balance
Die Scripte habe ich geteilt in ein script das dafür gedacht ist von cron ausgeführt zu werden und das nach einer outage die fastd-Verbindungen wieder herunterregeln soll und ein script, dass als on_verify-script genutzt werden soll.

4 Likes

Wunderbar! Wenn man jetzt noch die „values“ in die fastd-config verlagen könnte… ich probiere mal was.
Kann#s aber gerade nicht testen.

auf einem der frnakfurter Server haben wir dieses Script nun im Testbetrieb.

3 Likes