[GSoC-2014] Final report of the GSoC project: “BGP/Bird integration with OpenWRT and QMP”

Here I present you a report of the finals state of my GSoC project. For further information feel free to  contact me using the channels described in the github and documentation.

“BGP/Bird integration with OpenWRT and QMP” [0] project’s main goals were to improve Bird4/6 Daemon [1] adding a better integration with OpenWRT bringing UCI configuration to it, to add an user-friendly interface to make it easier using the LuCI web-framework, to be able to port it to QMP mesh networks and, finally, to automate the route exchange and metric translation between Guifi.net (BGP) and QMP (BMX6) [2].

Current solution consists on two OpenWRT packets: bird4/6-uci and bird4/6-luci. While bird4/6-uci allows the user to modify Bird’s configuration and apply it using the init.d script, the bird4/6-luci package brings a web interface to make this UCI configuration even easier.

Regarding bird4/6-uci package, UCI configuration scheme was agreed with Bird main developers owing, not just to make a solution, but also to consensus its development and characteristics with their main developers. The package includes a DOCUMENTATION file with all the available options, its description and examples.

Regarding bird4/6-luci package, it brings all the necessary files to add LuCI web-based configuration interface and has bird4/6-uci as a dependency.

Finally, the solution used to automate the translation and exchange of routes between BGP and BMX6, uses Bird filters instead of an external developed tool:

First of all, as BGP routes are automatically exported and imported only using UCI configuration, the efforts were put into the reverse part. Second, initial experiments were done in the WiBed platform [3], owing to be able to repeat and test the solution without the possibility of “breaking anything”. Once the solution was stable enough, packages were installed in a QMP mesh with 5 nodes (2x WDR4300, 1x WDR3900, 1x WRTNode and 1x WR703N) and also connected with a Mikrotik RouterBoard 750G to check the routes exported. Moreover, some tests were made connecting the RouterBoard to Guifi.net’s UPC point, working with more than 500 routes.

Example of original Bird configuration:

log “/tmp/bird4.log” all;
debug protocols all;
 
#Router ID
router id 10.1.26.50;
 
#Secondary tables
table aux;

Example of the same configuration using UCI:

config global ‘global’
    option log_file ‘/tmp/bird4.log’
    option log ‘all’
    option debug ‘all’
    option router_id ‘10.1.26.50’

config table
    option name ‘aux’

An example of the LuCI configuration web page can be seen here:

Bird BGP LuCI configuration example

Example of BMX6 Routes and how are they filtered:

# ip r show
10.0.0.0/8 dev bmxOut_HW-Ermi  proto static  metric 1024
10.1.32.0/27 dev bmxOut_HW-Ermi  proto static  metric 1024

The pattern used in IPv4 filters is the device name “bmx*” and also the metric “1024” owing not to repeat or export internal routes.

In IPv6 the procedure used is to filter the 60 kernel table, as it contains all BMX6 iroutes:

# ip -6 r s table 60
fd66:66:66:8:de9f:dbff:fe35:17b6 via fe80::de9f:dbff:fe34:17b6 dev wlan0.12  proto static  metric 1024
fd66:66:66:a:de9f:dbff:fe34:17b6 via fe80::de9f:dbff:fe34:17b6 dev wlan0.12  proto static  metric 1024

Future work:

  • Continue adding the rest of BGP options to improve the solution.
  • Add OSPF (first of all) and the rest of the protocols to the UCI and LuCI solution.
  • Send the bird4/6-uci/luci package to OpenWRT willing to became an official package.
  • Continue giving support to package users and maintaining it.

Both package repositories are actually in my personal Github account [4] and [5].

Finally, I want to  thank Freifunk for the opportunity given to me with this GSoC project, to my mentors Roger Baig and Axel Neumann, to Pau Escrich for his support during the project and to Guifi.net and QMP project and their communities for the support received.

Eloi Carbó Solé.

[0] http://blog.freifunk.net/2014/gsoc-bgpbird-integration-openwrt-and-qmp-project-report

[1] https://github.com/openwrt-routing/packages/tree/master/bird

[2] http://qmp.cat/News/12_Google_Summer_of_Code_2014_and_QMP

[3] http://wiki.confine-project.eu/wibed:start

[4] https://github.com/eloicaso/bird4-openwrt

[5] https://github.com/eloicaso/bird6-openwrt

Einladung zum Freien Freifunktreffen in Halle am 19.07.2014 (Sommerfest)

Wie jedes Jahr, trifft sich auch dieses Jahr die hallesche Freifunk-Community im Sommer am Hufeisensee. Es ist ein regionales Treffen, welches offen für alle Freifunk-Communitys ist. Hiermit möchten wir euch einladen am 19.07.2014 vorbei zu schauen.

Diesmal sind wir zu Gast auf dem Vereinsgelände vom Tauchclub Orca in der Schkeuditzer Str. 70 | 06116 Halle, wo wir uns ab 15 Uhr treffen. Das Gelände bietet alles, was Freifunker für ein produktives Treffen benötigen: Freifunk, Internet, Strom und Grill sind genauso vorhanden, wie Tische und Stühle um eigene Rechentechnik aufzubauen. Die Freifunk Community aus Halle will dieses Treffen nutzen, um einen eigenen Förderverein zu gründen. Der Förderverein soll die Aufgabe übernehmen, das Projekt Freifunk in Halle organisatorisch zu unterstützen. Weitere Informationen gibt es im Freifunk.net-Wiki. Fragen und Anregungen können auch bei uns im Forum diskutiert werden. Gäste werden gebeten, sich anzumelden, um besser planen zu können.

 

Google Summer of Code – Source Sensitive Routing

Hello everyone,

I am Olden, a master degree student at the Université Paris Diderot. After speaking with Juliusz Chroboczek, one of my teacher, he introduced me to his work on source sensitive routing and offered me to join the Freifunk community to implement it in Quagga. Under the direction of Matthieu Boutier, who has wrote the first implementation of source sensitive routing, I will be working on the integration of that procole in the next release of Quagga.

After discussing with David Lamparter, he informed me that he already implemented most of the necessary functions in Zebra and that the code will be pushed soon on their git repository. I will therefore be waiting a bit before modifying the Quagga code.

But my first aim will be to get used to the Quagga code and see how to include my modifications as easily as I can. I will therefore be waiting for the code of David Lamparter to be pushed on the git repository and then work on it.

During the time I will be waiting for that, I will read the code of Quagga and get used to it for around two weeks and then will be implementing source-sensitive routing into it. If my work is fully functioning, and if I get time afterwards, I will also be looking at the possibility of implementing the same algorithm in OSPF.

I don’t have for now a precise timeline concerning the work I will be doing on Quagga, but I will be posting on a regular basis the progress of my work on a blog. My git repository is not created yet, but I will be sharing its address with the one of my blog as soon as possible.

Thanks again Freifunk for taking me on this project, and see you soon for the beginning of my work !

Olden

Hurra! Die neue Webseite ist da.

freifunk.net ist relaunched! Zeitgemässer – Aktueller – Gemeinschaftlicher

Seit dem letzten Wireless Community Weekend gab es ein gemeinsames Ziel: die Webseite von freifunk.net sollte endlich erneuert werden. Es folgte ein halbes Jahr intensive Arbeit, in dem das Team um Monic, Christian, Andi, Daniel, Ruben und einige andere das neue Konzept und Design entwickelten. Die Inhalte wurden überarbeitet, die Dienste zusammen gesammelt und vor allem wurde die neue API api.freifunk.net initiiert, mit der Metadaten der lokalen Communities dezentral bereitgestellt und standardisiert abgerufen werden können. Erste Anwendungen sind der zusammengefasste Newsfeed, der Blogaggregator und die übersichtliche Communitykarte, um Interessierten den Weg zu ihrer lokalen freifunk Community zu erleichtern.

Monic beschrieb die Aufgabe als “… einen beinahe archäologischen Prozess, bei dem teilweise auch viel Beharrlichkeit notwendig war, um den Kontakt zu einzelnen Aktivisten herzustellen und diese von den neuen Ideen zu begeistern.” An dieser Stelle einen Dank an alle, die das Projekt unterstützt haben und hoffentlich weiter ihren Input beisteuern werden – aber vor allem auch an Monic!

Eine weitere Hauptaufgabe bestand darin, verständlich zu erklären, was freifunk.net ist und wie es funktioniert und dabei dennoch auf unsere Dezentralität und die unterschiedlichen technischen und organisatorischen Ansätze einzugehen. Außerdem sollten die gemeinschaftlichen netzpolitischen und gesellschaftlichen Ziele möglichst geschlossen kommunizieren werden.

Meiner Ansicht nach ist das dem Team super gelungen. Das ist ein ganz tolles Geburtstagsgeschenk zu unserem 10 jährigen Bestehen! Ich möchte mich – sicher auch im Namen vieler anderer freifunkenden – ganz herzlich dafür bei allen Beteiligten bedanken!

JuergeN

Wireless Battle Mesh v6 from April 15-21 in Aalborg, Denmark

The next ‘Wireless Battle of the Mesh’ will take place from Mon 15th till Sun 21st of April at the University of Aalborg, Denmark. The event aims to bring together people from across the globe to test the performance of different routing protocols for ad-hoc networks, like Babel, B.A.T.M.A.N., BMX, OLSR, and 802.11s. Of course, new protocols (working on OpenWRT) are always welcome! It is not required to be active within the mentioned protocols, so if you are a mesh networking enthusiast, community networking activist, or have an interest in mesh networks in general, you have to check this out! Information about the event is gathered at: http://battlemesh.org/BattleMeshV6

Location
========
The event takes place at the University of Aalborg, Denmark. There will be room for hacking with software and hardware,
talks and presentations, as well as informal discussions between participants.

Participant Registration and Fee
================================
The event itself is free of charge and open for all, so to register without hotel and food supply, simply add your name to the participant table. http://battlemesh.org/BattleMeshV6/Participants

If you wish low cost cost accomodation and low cost food supply, several special group bookings have been arranged. Payment
in advance is required to get the full benefit of the discount. Therefore, this year’s edition features an “early bird low cost” registration program: A bed in a nearby hotel from Monday till Sunday plus breakfast and dinner for the entire week are available for 1500 DKK (~201€) if the payment is made before February 15th, 2013. The price goes up to 1900 DKK (~255€) for all payments made after February 15th. These late arrangements are subject to availability. Of course, this package is not compulsory. You can also find your own bed and food supply yourself during the event if you wish to do so. Credit card payments for accomodation and food can be carried out here: https://www.erap.aau.dk/event/index.php/bmv6

Warm Up
=======
As with Wireless BattleMesh V5 in Athens, we would like to arrange a warm up event in the preceeding weekend. So far, we
have explored options like Djurslands Net and Net4Samsø, but nothing is final yet. Suggestions and ideas for this is more than welcome!

Spread the Word
===============
Feel free to spread the word by forwarding this mail to all lists / people that might be interested in it. Blogging about the event is more than welcome, and if you do so, please add a ping-back to the wiki page:
http://battlemesh.org/BattleMeshV6

Contact
=======
* Web: http://battlemesh.org/BattleMeshV6
* Email: http://ml.ninux.org/mailman/listinfo/battlemesh
* IRC: irc.freenode.net #battlemesh

[via Martin Hundebøll]

Freifunk WLAN in und auf dem Rathaus Kreuzberg: Freier Internetzugang trotz Störerhaftung

Besucher des Bürgeramts im Rathaus Kreuzberg haben über ein neu eingerichtetes Freifunk-WLAN ab sofort kostenlosen, freien und zeitlich uneingeschränkten Zugang zum Internet. Neben einem Access Point im Warteraum in der dritten Etage wurden auch auf dem Dach des elfstöckigen Gebäudes drei WLAN-Router installiert. Diese Router haben durch Richtantennen eine Reichweite bis zu zehn Kilometer und stellen Verbindungen zu dem bereits über den Dächern von Berlin bestehenden Freifunk-Netz und den darin angebundenen Internetzugängen her.

Die Bezirksverordnetenversammlung beschloss im Frühjahr den Start eines WLAN-Pilotprojekts, welches dann von Freifunkerinnen und Freifunkern um André Gaul zusammen mit dem Bürgerdeputierten Andreas Pittrich realisiert wurde. Unterstützt wurde das Projekt durch Dietmar Zachler von der Rathaus-IT und Stadtrat Hans Panhoff. Alle Geräte wurden von Freifunk installiert, das Bezirksamt stellt die Aufstellorte und Strom für die Geräte zur Verfügung.

Die Zugänge zum Internet werden von Bürgerinnen und Bürgern innerhalb des Freifunk-Netzes bereitgestellt. Durch das Bereitstellen eines Internetanschlusses geht man jedoch ohne weitere Maßnahmen wegen der in Deutschland noch immer geltenden Störerhaftung ein juristisches Risiko ein, da man für die Durchleitung von fremdem Internet-Verkehr haftbar gemacht werden kann. Um die Störerhaftung zu umgehen, leitet Freifunk die Daten verschlüsselt durch ein VPN über Schweden und zeigt damit auch die Unsinnigkeit der Störerhaftung auf. Die gleiche Technik benutzt auch die Freifunk Freedom Fighter Box, die seit Juni 2012 kostenlos verteilt wird, um freies WLAN an öffentlichen Plätzen bereitzustellen und gegen die Störerhaftung zu protestieren.

Freifunk unterstützt den Gesetzentwurf der Digitalen Gesellschaft, der Bürgerinnen und Bürger sowie Gewerbetreibende, die einen Internet-Zugang via WLAN anbieten, mit kommerziellen Internetprovidern haftungsrechtlich gleichstellt. Aufgrund der durchweg positiven Erfahrungen im Rathaus Kreuzberg hofft Freifunk, bald weitere Installationen auf und in anderen öffentlichen Gebäuden durchführen zu können.

[via Juergen Neumann]

Links

Dokumentation: wiki.freifunk.net/Berlin:Standorte:Bezirksamt_Kreuzberg

Beseitigung der Störerhaftung, Gesetzentwurf DigiGes: digitalegesellschaft.de/portfolio-items/storerhaftung-beseitigen/

Freifunk Freedom Fighter Box: freifunkstattangst.de/2012/06/14/aktion-gegen-storerhaftung-anonym-im-wlan-an-offentlichen-platzen-mit-freifunk/

BVV Beschluss: www.berlin.de/ba-friedrichshain-kreuzberg/bvv-online/vo020.asp?VOLFDNR=4948&options=4

Freifunk Halle Interview Loop von Tmk

Freifunker aus Halle (Saale) haben einen Film gemacht und erklaeren die Motive und Begeisterung fuer freie Netze.

“Freifunk Halle Interview Loop” von Tmk, Oktober 2009, Creative Commons: by-nc-sa.

Bits und Bytes im Heizwerk

Jetzt geht’s richtig los mit und um Terminal.21.
Mit einer guten Portion Glück ist es uns gelungen, ein ausgedientes
kleines Heizwerk in Halle zu mieten, mit großer Halle und langem Schornstein.
Platz, der mit einer großen Portion Arbeit und kreativen Ideen genutzt
werden will. Und dafür brauchen wir euch, eure Unterstützung, eure
Projekte und eure Visionen.

Vieles ist denkbar: Kino, Hackspace, Kunstraum, Biblitothek,
Seminare und Workshops, Selbsthilfewerkstatt, Medienkunst,
Installationen, Ideenschmiede, Projektspace, … und alles andere, was
ihr euch vorstellen könnt.

Los geht es am Sonntag, dem 11.10.2009 ab 15:00 mit
einem kleinen Baustartfest. Wir werden euch kurz erzählen, wer wir
sind, was uns dazu gebracht hat, dieses Projekt zu starten, was andere
Leute auf dieser Welt so treiben, was wir alle miteinander in Zukunft
an diesem neuen Platz treiben wollen und was dafür zu tun ist. Ihr
findet das Heizwerk in der Hordorfer Straße in Halle, oder hier mit Blick von oben.