<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>Hi,</p>
    <p>ja, wenn man es richtig machen will, legt man das Hoodfile an und
      generiert daraus die configs. Siehe auch Adrians und Fabians alte
      Variante. <br>
      Ich finde es allerdings unschön, wenn das dezentrale Gateway zum
      Teil über ein Hoodfile und der Rest in /etc/config/xxxx
      konfiguriert wird.<br>
    </p>
    <p>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. <br>
    </p>
    <p>Auch hier stellt sich wieder die Frage, wie viel Magie man in die
      Firmware hinein packen möchte. <br>
    </p>
    <p>Viele Grüße<br>
      Robert<br>
    </p>
    <p><br>
    </p>
    <div class="moz-cite-prefix">Am 30.01.20 um 01:31 schrieb Christian
      Dresel:<br>
    </div>
    <blockquote type="cite"
      cite="mid:79B09A84-B3A2-4B49-8E5C-D16480AC9404@chrisi01.de">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      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.<br>
      <br>
      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.<br>
      <br>
      Gruß <br>
      <br>
      Christian<br>
      <br>
      <div class="gmail_quote">Am 27. Januar 2020 14:25:12 MEZ schrieb
        Robert Langhammer <a class="moz-txt-link-rfc2396E" href="mailto:rlanghammer@web.de"><rlanghammer@web.de></a>:
        <blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
          0.8ex; border-left: 1px solid rgb(204, 204, 204);
          padding-left: 1ex;">
          <pre class="k9mail">This generates a hoodfile out of config/gateway and config/fff.

Signed-off-by: Robert Langhammer <a class="moz-txt-link-rfc2396E" href="mailto:rlanghammer@web.de"><rlanghammer@web.de></a><hr> .../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.@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.@client[0].essid)"
+       json_add_string "mesh_id" "$(uci -q get gateway.@client[0].mesh_id)"
+       json_add_string "channel2" "$(uci -q get gateway.@client[0].chan2ghz)"
+       json_add_string "mode2" "ht20"
+       json_add_string "mesh_type2" "802.11s"
+       json_add_string "channel5" "$(uci -q get gateway.@client[0].chan5ghz)"
+       json_add_string "mode5" "ht20"
+       json_add_string "mesh_type5" "802.11s"
+       json_add_string "upgrade_path" <a class="moz-txt-link-rfc2396E" href="http://[fd43:5602:29bd:ffff::feee]:83">"http://[fd43:5602:29bd:ffff::feee]:83"</a>
+       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

</pre>
        </blockquote>
      </div>
      <br>
      -- <br>
      Diese Nachricht wurde von meinem Android-Gerät mit K-9 Mail
      gesendet.
    </blockquote>
  </body>
</html>