[Fli4l_dev] Circuiets ?==?utf-8?Q?verschwinden und router ist?==?utf-8?Q? offline
Christoph Schulz
fli4l at kristov.de
Fr Okt 13 21:49:19 CEST 2017
Hallo,
das ist ein Fehler im Circuit-Code, wobei die Ursache unklar ist, weil
nicht alles Relevante im Protokoll zu finden ist. Grundlegend passiert
hier Folgendes:
1) Etwas beendet den PPP-Dämon mit einem Abbruchsignal (SIGTERM). Mir
ist unklar, warum dies eigentlich passiert. Es liegt jedenfalls nicht
daran, dass die Verbindung seitens deines Anbieters aufgelegt wurde,
dann würde es einen Fehlercode 16 statt 5 geben.
2) Der PPP-Dämon führt das ip-down-Skript aus.
3) Das Skript wird nicht rechtzeitig fertig (fli4l hat ein Limit von 60
Sekunden). Es ist unklar, warum dies passiert. Es könnte ein
ip-down-Skript irgendeines Pakets sein, das irgendetwas macht, das zu
lange dauert (wie z.B. eine Verbindung ins Internet, was ja nicht
klappen kann, weil die Internet-Verbindung gerade abgebaut wurde). Auf
jeden Fall schickt der PPP-Dämon dem ip-down-Skript ebenfalls ein
Abbruchsignal (SIGTERM) und beendet sich dann (sofort).
4) Der Circuit-Dämon bekommt mit, dass der PPP-Dämon sich beendet hat,
und leitet das (nachträgliche) Auflegen des Circuits ein.
Hier ist das erste Problem: Er geht davon aus, dass gar kein
ip-down-Skript mehr läuft, denn der PPP-Dämon ist ja bereits beendet.
5) Der Status des Circuits wird auf "active" und später (wg. erneutem
Wählen) wieder auf "ready" gesetzt.
6) Das ip-down-Skript beendet sich jetzt (endlich) und meldet dem
Circuit-Dämon, dass das IPv4-Protokoll ordentlich beendet wurde.
7) Der Circuit-Dämon bekommt dies mit, stellt fest, dass alle
verwendeten Layer-3-Protokolle beendet wurden, und leitet das Auflegen
des Circuits ein.
Hier ist das zweite Problem: Der Circuit wird zweimal aufgelegt!
8) Verschiedene Dinge passieren, die dazu führen, dass der Zustand des
Circuits inkonsistent wird. Insbesondere geht das automatische
Neuwählen des Circuits in die Grütze.
Der normale Ablauf ist, dass zuerst Layer-3-Protokoll-Abmeldung und
damit verbunden das Auflegen des Circuits vor dem Beenden des
PPP-Dämons stattfindet. Damit kommt der Circuit-Dämon zurecht. Mit
deinem Ablauf gibt es Probleme. Sobald unsere Entwicklungssysteme wieder
fit sind, werde ich versuchen, eine Lösung einzuchecken. Trat das
Problem bei dir bislang öfter bzw. regelmäßig auf?
Viele Grüße,
--
Christoph Schulz
[fli4l-Team]
Mehr Informationen über die Mailingliste Fli4l_dev