<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;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0cm;
        margin-right:0cm;
        margin-bottom:0cm;
        margin-left:36.0pt;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
span.EmailStyle18
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
span.EmailStyle20
        {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'>Im Prinzip ist es relativ wurscht, bei meiner Variante wäre der Vorteil, dass der configap vor dem Sleep angeht.<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><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US'>Ich werde dann aber mal einen v2 mit der micrond-Variante schicken.<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><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US'>Zu sehr verteilen will ich die Anfragen eigentlich gar nicht, das reduziert dann das Wartungsintervall, wo configurehood aus ist (schließlich läuft der ja auch durchaus recht lange).<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'>Zudem haben wir einen sleep 30, der sicherstellen soll, dass die Mesh-Router erst dann per STA den configap suchen, wenn dieser up ist (spart jeweils 5 Minuten):<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><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US'><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><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><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US'>Man könnte also<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'>1. den Sleep in den micrond schreiben, diesen dann aber kurz lassen (10-15 sec.), sodass das Herunterladen per Wireless noch lange genug wartet.<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'>2. den Sleep in die configurehood schreiben (ggf. auch einfach nur einmal direkt nach dem configap Block), und dort dann ggf. längere Zeiten verwenden.<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><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US'>Ich würde aber auch bei 2. gerne unter 30 sec. bleiben, damit das configurehood dann in einem 1-Minuten-Fenster planbar durchgelaufen ist.<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><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US'>Grüße<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><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US'>Adrian<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><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> Montag, 29. Oktober 2018 13:03<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'>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> <o:p></o:p></p><p><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> <o:p></o:p></p><p><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> <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'>[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'>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></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 <<a href="mailto:freifunk@adrianschmutzler.de">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> <o:p></o:p></p><p class=MsoNormal style='margin-bottom:12.0pt'><o:p> </o:p></p></div></div></body></html>