Google Summer of Code 2021
lemmi
lemmi at nerd2nerd.org
Di Jun 23 00:17:21 CEST 2020
Hey,
also dann mache ich doch einfach mal zwei Vorschläge:
Babeld:
Wir nutzen babeld intensiv und daher macht es nur Sinn, dass wir uns
auch ein bisschen (mehr) darum kümmern. In babeld selbst und auch in den
anderen Implementationen wie die von bird2 gibt es noch gut zu tun. Die
Bandbreite liegt zwischen ein paar Kleinigkeiten fixen bis zu die
Architektur vom ganzen Programm mehr oder weniger umwerfen. Von mehr
Features erst einmal abgesehen.
Konkret rennen wir immer mal wieder mit der Größe unseres Netzes gegen
die Zeitkomplexität mancher Algorithmen. Neulich habe ich erst einen
Fall entdeckt, der grob eine Laufzeit von O(n^3) hat [1], die wir
vermutlich zum Glück relativ einfach auf O(n^2) herunterschrauben
können. Fabian hat dazu schon einen Router im Testbetrieb [2] (siehe
Load ab 21.07.).
Im Idealfall würde aber der ganze Algorithmus nicht einfach nur auf paar
verschachtelten Schleifen basieren, sondern die passende Baumstruktur,
ähnlich wie die im Kernel, verwenden. Bird2 macht auf dem ersten Blick
auch den selben "Fehler" und hat hin und wieder auch Probleme mit zu
halten. Also wer noch fit in Algorithmen und Datenstrukturen ist, kann
sich hier mit Sicherheit austoben und eine massive Verbesserung für alle
erreichen.
[1]
https://alioth-lists.debian.net/pipermail/babel-users/2020-May/003737.html
[2] https://monitoring.freifunk-franken.de/routers/4737
Multicast:
Ich will Multicast im Netz und mir fehlt die Zeit dazu. Hier kann ich
weniger Konkrete Ideen anbieten, aber folgende Sachen könnte man sich
dazu ansehen:
Bester Kandidat bei uns einfach Multicast zum laufen zu bringen ist wohl
pim6sd [3]. Es ist ein relativ schlanker daemoen, der aus einer Reihe
anderer Tools schon rausgelöst wurde und um IPv6 Zeugs erweitert wurde
(wenn ich das richtig verstanden habe :) ). Das Problem: Das zeug
kompiliert nicht auf musl-libc (die libc, die auch OpenWRT benutzt). Ein
paar Kleinigkeiten konnte ich schon fixen, andere blieben noch offen,
daher konnte ich noch kein Patch einreichen.
Warum sollte man das jetzt wollen?
Da wir schon ein großes und meistens funktionierendes Layer 3 Netz
haben, ist Multicast eigentlich nicht weit weg. Es könnte beispielsweise
ordentliches Streaming von Ton und Bild ermöglichen und auf fast
beliebige Anzahl Zuschauer skalieren, statt auf durch die Bandbreite vom
Upload beim Streamer oder Server eingeschränkt zu sein. Ich würde das
gerne regelmäßig auf unseren Treffen in Würzburg nutzen um Vorträge zu
streamen. Theoretisch könnte man damit auch TV ins Freifunk einspeisen,
sollte das rechtlich möglich sein.
Eine andere Anwendung ist VXLAN. VXLAN kann Multicastgruppen beitreten
um andere Tunnelendpunkte zu entdecken und BUM Traffic zu verteilen.
Damit hätten wir ein weiteres Konstrukt größere Layer2 Netze
aufzuspannen, um auch mit der Layer3 Firmware, auch unorganisiert, unter
anderem Roaming zu ermöglichen.
[3] https://github.com/troglobit/pim6sd
Das sind jetzt echt nur meine Favouriten. Bin mir sicher, dass wir noch
viel mehr Aufgaben finden können. Inwiefern ich persönlich als Mentor
tauge, kann ich nicht sagen, aber im Hintergrund kann ich sicher als
Ansprechpartner dienen.
Viele Grüße,
lemmi
On 02.06.20 16:35, Tim Niemeyer wrote:
> Hallo
>
> Es wird des öfteren der Wunsch an F3 Netze e.V. heran getragen doch
> beim Google-Summer-of-Code (kurz GSoC) mit zu machen. Das Programm
> ermöglicht Studenten ein Stipendium dafür zu bekommen bei OpenSource
> Projekten mitzuwirken. Die grobe Timeline des GSoC für dieses Jahr
> findet man z.B. hier: https://summerofcode.withgoogle.com/how-it-works/
>
> Für dieses Jahr sind wir nun zwar zu spät dran, aber vielleicht kann es
> ja nächstes Jahr was werden. Bisher ist es allerdings in der
> Vergangenheit immer an den Projektvorschlägen gescheitert, denn F3
> Netze e.V. wird sich nicht als Organisation anmelden so lange keine
> Themen und Betreuer da sind.
>
> Nun haben wir einige Zeit Themen und Betreuer zu finden und ich würde
> mich über eure Vorschläge freuen.
>
> Grüße
> Tim
Mehr Informationen über die Mailingliste franken