<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
span.EmailStyle18
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
span.EmailStyle19
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style></head><body lang=DE link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US'>Okay.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US'><o:p> </o:p></span></p><div style='border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt'><div><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri",sans-serif'>From:</span></b><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri",sans-serif'> Christian Dresel [mailto:fff@chrisi01.de] <br><b>Sent:</b> Dienstag, 30. Oktober 2018 10:14<br><b>To:</b> Adrian Schmutzler <mail@adrianschmutzler.de>; franken-dev@freifunk.net<br><b>Subject:</b> Re: [PATCH] configurehood: Introduce random delays to dilute requests<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p> </o:p></p><p><span style='font-family:"Calibri",sans-serif'>Hi</span> <o:p></o:p></p><p><span style='font-family:"Calibri",sans-serif'>Am 29.10.18 um 14:48 schrieb Adrian Schmutzler:</span> <br><span style='font-family:"Calibri",sans-serif'>> Im Prinzip ist es relativ wurscht, bei meiner Variante wäre der Vorteil,</span> <br><span style='font-family:"Calibri",sans-serif'>> dass der configap vor dem Sleep angeht.</span> <o:p></o:p></p><p><span style='font-family:"Calibri",sans-serif'>ich weiß nicht so recht, ist zwar durchaus ein Argument aber das</span> <br><span style='font-family:"Calibri",sans-serif'>ver"sleep"t das ganze Script noch mehr. Ich hab jetzt ne Nacht drüber</span> <br><span style='font-family:"Calibri",sans-serif'>geschlafen und bleib dabei, bitte in den micrond verzögern das gefällt</span> <br><span style='font-family:"Calibri",sans-serif'>mir einfach besser.</span> <o:p></o:p></p><p><span style='font-family:"Calibri",sans-serif'>> </span><br><span style='font-family:"Calibri",sans-serif'>>  </span> <br><span style='font-family:"Calibri",sans-serif'>> </span><br><span style='font-family:"Calibri",sans-serif'>> Ich werde dann aber mal einen v2 mit der micrond-Variante schicken.</span> <br><span style='font-family:"Calibri",sans-serif'>> </span><br><span style='font-family:"Calibri",sans-serif'>>  </span> <br><span style='font-family:"Calibri",sans-serif'>> </span><br><span style='font-family:"Calibri",sans-serif'>> Zu sehr verteilen will ich die Anfragen eigentlich gar nicht, das</span> <br><span style='font-family:"Calibri",sans-serif'>> reduziert dann das Wartungsintervall, wo configurehood aus ist</span> <br><span style='font-family:"Calibri",sans-serif'>> (schließlich läuft der ja auch durchaus recht lange).</span> <br><span style='font-family:"Calibri",sans-serif'>> </span><br><span style='font-family:"Calibri",sans-serif'>> Zudem haben wir einen sleep 30, der sicherstellen soll, dass die</span> <br><span style='font-family:"Calibri",sans-serif'>> Mesh-Router erst dann per STA den configap suchen, wenn dieser up ist</span> <br><span style='font-family:"Calibri",sans-serif'>> (spart jeweils 5 Minuten):</span> <br><span style='font-family:"Calibri",sans-serif'>> </span><br><span style='font-family:"Calibri",sans-serif'>>  </span> <br><span style='font-family:"Calibri",sans-serif'>> </span><br><span style='font-family:"Calibri",sans-serif'>> <a href="https://github.com/FreifunkFranken/firmware/blob/master/src/packages/fff/fff-hoods/files/usr/sbin/configurehood#L93">https://github.com/FreifunkFranken/firmware/blob/master/src/packages/fff/fff-hoods/files/usr/sbin/configurehood#L93</a></span> <o:p></o:p></p><p><span style='font-family:"Calibri",sans-serif'>ich weiß nicht, das ganze ge"sleep"e da drinnen gefällt mir eigentlich</span> <br><span style='font-family:"Calibri",sans-serif'>nicht. Ja ich weiß warum es nötig ist aber humpf... So oft ändert sich</span> <br><span style='font-family:"Calibri",sans-serif'>die Hood doch eh nicht und bisher waren die Kisten sogar mehrere Stunden</span> <br><span style='font-family:"Calibri",sans-serif'>danach offline (wegen Bug) und außer uns hats niemand gemerkt. Wenn das</span> <br><span style='font-family:"Calibri",sans-serif'>"zusammenbauen" des Netzes nach einen Hoodwechsel nun mal 30min dauert</span> <br><span style='font-family:"Calibri",sans-serif'>weil jemand so ein kompliziertes Meshsetup gemacht hat... Also ich wäre</span> <br><span style='font-family:"Calibri",sans-serif'>fast dafür das ganze sleep Zeug da rauszuwerfen oder man überlegt man ob</span> <br><span style='font-family:"Calibri",sans-serif'>sich da ne Lösung ohne sleep findet.</span> <o:p></o:p></p><p><span style='font-family:"Calibri",sans-serif'>> </span><br><span style='font-family:"Calibri",sans-serif'>>  </span> <br><span style='font-family:"Calibri",sans-serif'>> </span><br><span style='font-family:"Calibri",sans-serif'>> Man könnte also</span> <br><span style='font-family:"Calibri",sans-serif'>> </span><br><span style='font-family:"Calibri",sans-serif'>> 1. den Sleep in den micrond schreiben, diesen dann aber kurz lassen</span> <br><span style='font-family:"Calibri",sans-serif'>> (10-15 sec.), sodass das Herunterladen per Wireless noch lange genug wartet.</span> <o:p></o:p></p><p><span style='font-family:"Calibri",sans-serif'>wie oben schon gesagt, das ganze aufeinander warten ist irgendwie so</span> <br><span style='font-family:"Calibri",sans-serif'>humpf. Ich glaube wir brauchen da irgendwann mal ne bessere Lösung.</span> <br><span style='font-family:"Calibri",sans-serif'>AKtuell kann ich aber damit leben wenn wir es schon mal um random 1 - 15</span> <br><span style='font-family:"Calibri",sans-serif'>Sekunden verzögern im micrond, dann lieber diese Variante.</span> <o:p></o:p></p><p><span style='font-family:"Calibri",sans-serif'>mfg</span> <o:p></o:p></p><p><span style='font-family:"Calibri",sans-serif'>Christian</span> <o:p></o:p></p><p><span style='font-family:"Calibri",sans-serif'>> </span><br><span style='font-family:"Calibri",sans-serif'>> 2. den Sleep in die configurehood schreiben (ggf. auch einfach nur</span> <br><span style='font-family:"Calibri",sans-serif'>> einmal direkt nach dem configap Block), und dort dann ggf. längere</span> <br><span style='font-family:"Calibri",sans-serif'>> Zeiten verwenden.</span> <br><span style='font-family:"Calibri",sans-serif'>> </span><br><span style='font-family:"Calibri",sans-serif'>>  </span> <br><span style='font-family:"Calibri",sans-serif'>> </span><br><span style='font-family:"Calibri",sans-serif'>> Ich würde aber auch bei 2. gerne unter 30 sec. bleiben, damit das</span> <br><span style='font-family:"Calibri",sans-serif'>> configurehood dann in einem 1-Minuten-Fenster planbar durchgelaufen ist.</span> <br><span style='font-family:"Calibri",sans-serif'>> </span><br><span style='font-family:"Calibri",sans-serif'>>  </span> <br><span style='font-family:"Calibri",sans-serif'>> </span><br><span style='font-family:"Calibri",sans-serif'>> Grüße</span> <br><span style='font-family:"Calibri",sans-serif'>> </span><br><span style='font-family:"Calibri",sans-serif'>>  </span> <br><span style='font-family:"Calibri",sans-serif'>> </span><br><span style='font-family:"Calibri",sans-serif'>> Adrian</span> <br><span style='font-family:"Calibri",sans-serif'>> </span><br><span style='font-family:"Calibri",sans-serif'>>  </span> <br><span style='font-family:"Calibri",sans-serif'>> </span><br><span style='font-family:"Calibri",sans-serif'>>  </span> <br><span style='font-family:"Calibri",sans-serif'>> </span><br><span style='font-family:"Calibri",sans-serif'>> *From:*Christian Dresel [<a href="mailto:fff@chrisi01.de">mailto:fff@chrisi01.de</a>]</span> <br><span style='font-family:"Calibri",sans-serif'>> *Sent:* Montag, 29. Oktober 2018 13:03</span> <br><span style='font-family:"Calibri",sans-serif'>> *To:* Adrian Schmutzler <<a href="mailto:mail@adrianschmutzler.de">mail@adrianschmutzler.de</a>>; <a href="mailto:franken-dev@freifunk.net">franken-dev@freifunk.net</a></span> <br><span style='font-family:"Calibri",sans-serif'>> *Subject:* Re: [PATCH] configurehood: Introduce random delays to dilute</span> <br><span style='font-family:"Calibri",sans-serif'>> requests</span> <br><span style='font-family:"Calibri",sans-serif'>> </span><br><span style='font-family:"Calibri",sans-serif'>>  </span> <br><span style='font-family:"Calibri",sans-serif'>> </span><br><span style='font-family:"Calibri",sans-serif'>> hi</span> <br><span style='font-family:"Calibri",sans-serif'>> </span><br><span style='font-family:"Calibri",sans-serif'>> macht es nicht evtl. Sinn, das ganze bereits im Cron etwas zu entzerren</span> <br><span style='font-family:"Calibri",sans-serif'>> so wie es bereits beim Nodewatcher [1] der Fall ist?</span> <br><span style='font-family:"Calibri",sans-serif'>> </span><br><span style='font-family:"Calibri",sans-serif'>> */5 * * * * sleep $(/usr/bin/random 0 60); [ -f /tmp/started ] &&</span> <br><span style='font-family:"Calibri",sans-serif'>> /usr/sbin/configurehood</span> <br><span style='font-family:"Calibri",sans-serif'>> </span><br><span style='font-family:"Calibri",sans-serif'>> dann wäre es auch kein Problem, das ganze noch deutlich weiter zu</span> <br><span style='font-family:"Calibri",sans-serif'>> entzerren, mir schweben da aktuell (wie im Beispiel oben) so 0 bis 60</span> <br><span style='font-family:"Calibri",sans-serif'>> Sekunden vor?</span> <br><span style='font-family:"Calibri",sans-serif'>> </span><br><span style='font-family:"Calibri",sans-serif'>> mfg</span> <br><span style='font-family:"Calibri",sans-serif'>> </span><br><span style='font-family:"Calibri",sans-serif'>> Christian</span> <br><span style='font-family:"Calibri",sans-serif'>> </span><br><span style='font-family:"Calibri",sans-serif'>> [1]</span> <br><span style='font-family:"Calibri",sans-serif'>> <a href="https://github.com/FreifunkFranken/firmware/blob/master/src/packages/fff/fff-nodewatcher/files/usr/lib/micron.d/fff-nodewatcher">https://github.com/FreifunkFranken/firmware/blob/master/src/packages/fff/fff-nodewatcher/files/usr/lib/micron.d/fff-nodewatcher</a></span><o:p></o:p></p><p><span style='font-family:"Calibri",sans-serif'>> </span><br><span style='font-family:"Calibri",sans-serif'>> Am 29.10.18 um 12:48 schrieb Adrian Schmutzler:</span> <br><span style='font-family:"Calibri",sans-serif'>>> Gerade noch eingefallen:</span> <br><span style='font-family:"Calibri",sans-serif'>>> </span><br><span style='font-family:"Calibri",sans-serif'>>> Ist sleep beim micrond im Path oder soll ich</span> <br><span style='font-family:"Calibri",sans-serif'>>> </span><br><span style='font-family:"Calibri",sans-serif'>>> /bin/sleep</span> <br><span style='font-family:"Calibri",sans-serif'>>> </span><br><span style='font-family:"Calibri",sans-serif'>>> nehmen?</span> <br><span style='font-family:"Calibri",sans-serif'>>> </span><br><span style='font-family:"Calibri",sans-serif'>>> Grüße</span> <br><span style='font-family:"Calibri",sans-serif'>>> </span><br><span style='font-family:"Calibri",sans-serif'>>> Adrian</span> <br><span style='font-family:"Calibri",sans-serif'>>> </span><br><span style='font-family:"Calibri",sans-serif'>>>> -----Original Message-----</span> <br><span style='font-family:"Calibri",sans-serif'>>>> From: franken-dev [<a href="mailto:franken-dev-bounces@freifunk.net">mailto:franken-dev-bounces@freifunk.net</a>] On Behalf Of</span> <br><span style='font-family:"Calibri",sans-serif'>>>> Adrian Schmutzler</span> <br><span style='font-family:"Calibri",sans-serif'>>>> Sent: Montag, 29. Oktober 2018 12:45</span> <br><span style='font-family:"Calibri",sans-serif'>>>> To: <a href="mailto:franken-dev@freifunk.net">franken-dev@freifunk.net</a> <<a href="mailto:franken-dev@freifunk.net">mailto:franken-dev@freifunk.net</a>></span> <br><span style='font-family:"Calibri",sans-serif'>>>> Subject: [PATCH] configurehood: Introduce random delays to dilute requests</span> <br><span style='font-family:"Calibri",sans-serif'>>>></span> <br><span style='font-family:"Calibri",sans-serif'>>>> Instead of having 1000 routers accessing the KeyXchange in the</span> <br><span style='font-family:"Calibri",sans-serif'>>>> same second, this will dilute the request within a period of</span> <br><span style='font-family:"Calibri",sans-serif'>>>> 10 seconds.</span> <br><span style='font-family:"Calibri",sans-serif'>>>></span> <br><span style='font-family:"Calibri",sans-serif'>>>> Same is done for queries from gateways.</span> <br><span style='font-family:"Calibri",sans-serif'>>>></span> <br><span style='font-family:"Calibri",sans-serif'>>>> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de <<a href="mailto:freifunk@adrianschmutzler.de">mailto:freifunk@adrianschmutzler.de</a>>></span> <br><span style='font-family:"Calibri",sans-serif'>>>> ---</span> <br><span style='font-family:"Calibri",sans-serif'>>>>  src/packages/fff/fff-hoods/files/usr/sbin/configurehood | 3 +++</span> <br><span style='font-family:"Calibri",sans-serif'>>>>  1 file changed, 3 insertions(+)</span> <br><span style='font-family:"Calibri",sans-serif'>>>></span> <br><span style='font-family:"Calibri",sans-serif'>>>> diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood</span> <br><span style='font-family:"Calibri",sans-serif'>>>> b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood</span> <br><span style='font-family:"Calibri",sans-serif'>>>> index 47e228b7..b6cae476 100755</span> <br><span style='font-family:"Calibri",sans-serif'>>>> --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood</span> <br><span style='font-family:"Calibri",sans-serif'>>>> +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood</span> <br><span style='font-family:"Calibri",sans-serif'>>>> @@ -74,6 +74,7 @@ if [ -s "$hoodfilelocal" ]; then</span> <br><span style='font-family:"Calibri",sans-serif'>>>>  else</span> <br><span style='font-family:"Calibri",sans-serif'>>>>      # if we have Internet, we download the Hoodfile from the</span> <br><span style='font-family:"Calibri",sans-serif'>>>> keyxchangev2</span> <br><span style='font-family:"Calibri",sans-serif'>>>>      if hasInternet ; then</span> <br><span style='font-family:"Calibri",sans-serif'>>>> +            sleep $(/usr/bin/random 1 10)</span> <br><span style='font-family:"Calibri",sans-serif'>>>>              getKeyserverHoodfile "$hoodfiletmp" && cp "$hoodfiletmp"</span> <br><span style='font-family:"Calibri",sans-serif'>>>> "$hoodfilewww"</span> <br><span style='font-family:"Calibri",sans-serif'>>>></span> <br><span style='font-family:"Calibri",sans-serif'>>>>              #if no Internet, we connect to the hidden AP and download the</span> <br><span style='font-family:"Calibri",sans-serif'>>>> file from another Node in range</span> <br><span style='font-family:"Calibri",sans-serif'>>>> @@ -95,6 +96,8 @@ else</span> <br><span style='font-family:"Calibri",sans-serif'>>>>                      getEthernetHoodfile "$hoodfiletmp" ||</span> <br><span style='font-family:"Calibri",sans-serif'>>>> getWirelessHoodfile "$hoodfiletmp"</span> <br><span style='font-family:"Calibri",sans-serif'>>>>              else</span> <br><span style='font-family:"Calibri",sans-serif'>>>>                      echo "We have a Gateway in Range, we load the</span> <br><span style='font-family:"Calibri",sans-serif'>>>> keyxchangev2data from fe80::1"</span> <br><span style='font-family:"Calibri",sans-serif'>>>> +</span> <br><span style='font-family:"Calibri",sans-serif'>>>> +                    sleep $(/usr/bin/random 1 10)</span> <br><span style='font-family:"Calibri",sans-serif'>>>>                      getGatewayHoodfile "$hoodfiletmp" && cp</span> <br><span style='font-family:"Calibri",sans-serif'>>>> "$hoodfiletmp" "$hoodfilewww"</span> <br><span style='font-family:"Calibri",sans-serif'>>>>              fi</span> <br><span style='font-family:"Calibri",sans-serif'>>>>      fi</span> <br><span style='font-family:"Calibri",sans-serif'>>>> --</span> <br><span style='font-family:"Calibri",sans-serif'>>>> 2.11.0</span> <br><span style='font-family:"Calibri",sans-serif'>> </span><br><span style='font-family:"Calibri",sans-serif'>>  </span> <br><span style='font-family:"Calibri",sans-serif'>> </span><o:p></o:p></p><p class=MsoNormal style='margin-bottom:12.0pt'><o:p> </o:p></p></div></div></body></html>