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