[PATCH 5/5] VARIANT layer3: generate hoodfile

Robert Langhammer rlanghammer at web.de
Sa Feb 1 00:53:14 CET 2020


Hi,

ja, wenn man es richtig machen will, legt man das Hoodfile an und
generiert daraus die configs. Siehe auch Adrians und Fabians alte Variante.
Ich finde es allerdings unschön, wenn das dezentrale Gateway zum Teil
über ein Hoodfile und der Rest in /etc/config/xxxx konfiguriert wird.

Darum hab ich hier mal versucht, ob es möglich ist alles im gateway file
(und fff) zu konfigurieren. Der Einfachheit halber habe ich keine
weiteren neue Optionen in das gateway file eingeführt. Ich wollte nur
mal sehen, ob es funktioniert.

Auch hier stellt sich wieder die Frage, wie viel Magie man in die
Firmware hinein packen möchte.

Viele Grüße
Robert


Am 30.01.20 um 01:31 schrieb Christian Dresel:
> Auch hier fände ich ein eigenes package schick. Die Hoodfile wurde so
> konzipiert, das sie auch andere Sachen wie Batman-adv als
> meshprotokoll anbieten könnte. So könnte es dann z.b. ein hwmp-l3 oder
> wds-l3 geben so das man in der Hoodfile verschiedene meshsysteme für
> die Hood auswählen kann. Der gw Betreiber gibt das System vor und die
> Knoten übernehmen es. Klingt nach viel Arbeit, nach viel Zukunft aber
> vllt kann man das einfach schonmal passend vorbereiten und wenn jemand
> ein wds-l3 erstellen will, darauf aufbauen kann.
>
> Ich hab in meinen Mails jetzt einfach paar Beispiel packages genannt,
> welches nun von welchen eine Abhängigkeit braucht müsste man nochmal
> überlegen auch ob sie überhaupt so Sinn machen, ich wollte hier eher
> nur mal grundsätzlich eine Idee aufzeigen und hab das keinesfalls
> gerade bis zu Ende gedacht ;) ich hoffe es kommt halbwegs verständlich
> rüber worauf ich hinaus will. Ansonsten wäre vllt auch mal ein
> direktes Gespräch sinnvoll, das ist leichter als es versuchen in
> Textform rüber zu bringen was mir so vorschwebt.
>
> Gruß
>
> Christian
>
> Am 27. Januar 2020 14:25:12 MEZ schrieb Robert Langhammer
> <rlanghammer at web.de>:
>
>     This generates a hoodfile out of config/gateway and config/fff.
>
>     Signed-off-by: Robert Langhammer <rlanghammer at web.de>
>     ------------------------------------------------------------------------
>      .../files/etc/gateway.d/90-generate-hoodfile  | 37 +++++++++++++++++++
>      1 file changed, 37 insertions(+)
>      create mode 100644 src/packages/fff/fff-gateway/files/etc/gateway.d/90-generate-hoodfile
>
>     diff --git a/src/packages/fff/fff-gateway/files/etc/gateway.d/90-generate-hoodfile b/src/packages/fff/fff-gateway/files/etc/gateway.d/90-generate-hoodfile
>     new file mode 100644
>     index 0000000..f61415f
>     --- /dev/null
>     +++ b/src/packages/fff/fff-gateway/files/etc/gateway.d/90-generate-hoodfile
>     @@ -0,0 +1,37 @@
>     +# source jshn shell library
>     +. /usr/share/libubox/jshn.sh
>     +
>     +configure() {
>     +	# remove old hoodfile
>     +	rm /www/hood/keyxchangev2data
>     +
>     +	# generating json data
>     +	json_init
>     +	json_add_string "version" "1"
>     +
>     +	json_add_object "network"
>     +	json_add_string "ula_prefix" "$(uci get gateway. at client[0].ip6addr | sed 's/.*\(fd43[^ ]*\).*/\1/' | sed 's;::.\{1,4\}/;:/;')"
>     +	json_close_object
>     +
>     +	json_add_object "hood"
>     +	json_add_string "name" "$(uci -q get fff.system.hoodname)"
>     +	json_add_string "essid" "$(uci -q get gateway. at client[0].essid)"
>     +	json_add_string "mesh_id" "$(uci -q get gateway. at client[0].mesh_id)"
>     +	json_add_string "channel2" "$(uci -q get gateway. at client[0].chan2ghz)"
>     +	json_add_string "mode2" "ht20"
>     +	json_add_string "mesh_type2" "802.11s"
>     +	json_add_string "channel5" "$(uci -q get gateway. at client[0].chan5ghz)"
>     +	json_add_string "mode5" "ht20"
>     +	json_add_string "mesh_type5" "802.11s"
>     +	json_add_string "upgrade_path" "http://[fd43:5602:29bd:ffff::feee]:83"
>     +	json_add_string "ntp_ip" "fd43:5602:29bd:ffff::1"
>     +	json_add_string "timestamp" "$(date +%s)"
>     +	json_close_object
>     +
>     +	json_dump > /www/hood/keyxchangev2data
>     +}
>     +
>     +revert() {
>     +	configure
>     +}
>     +
>     --
>     2.20.1
>
>
> -- 
> Diese Nachricht wurde von meinem Android-Gerät mit K-9 Mail gesendet. 
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <https://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20200201/14bdedcb/attachment.html>


Mehr Informationen über die Mailingliste franken-dev