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

GSoC2014 – BGP/Bird integration with OpenWRT and QMP

This year, the Google Summer of Code and FreiFunk have given to Guifi.net and QMP communities the opportunity to develope a project in this event. This project is: BGP/Bird integration with OpenWRT and QMP.

 

A brief description of the project

Most of the community networks run dynamic routing protocols (OLSR, BMX6, BATMAN-ADV, etc.) with non-dynamic ones (BGP, OSPF, etc.). Guifi.net (BGP) and QMP (BMX6) are a scenario where this collision of metrics and routes happens. 

Furthermore, these communities are using Quagga for the BGP routing, which is a complex and oversized tool for the type of nodes that will work with it. For these kind of nodes, Bird is a really lightweight BGP daemon that is still not well supported to be used easily by the community (it does not have an easy and graphical configuration system yet).

 

This project will contribute with:

1st Block: Adapting Bird to fit into QMP firmware. (1 month)

  • Bird daemon improvements (3 weeks)
    • Give to Bird integration with OpenWRT: Add support for UCI configuration. Thus, will ease the configuring process and become closer to non-expert users.
    • Improve Bird UCI configuration adding LUCI support (web graphical interface). Adding a graphical user-friendly interface and the necessary tools to automate hardest processes of the configuration, non-expert community users could find this daemon as an easy to use routing tool.
  • Adapt Bird daemon to QMP (1 week)
    • Once working on OpenWRT and with an easy ‘to put on work’ configuration, add integration with the QMP firmware owing to replace Quagga’s routing functions in frontier nodes of the QMP network.

 

2n Block: Automate the translations of routes and metrics between a non-dynamic routing protocol and a dynamic one. (~2 months)

  • Creation of a routes and metrics exchange system (7 weeks)
    • Study and build an exchange system for metrics and routes between BGP (from Guifi.net) and BMX6 (from QMP).
    • Test and debug this solution in the real scenario (Guifi.net-QMP)

 

3rd Block: Project basic feedback and documentation (1 week)

  • Documentation, user support&feedback and results presentation.

 

About the author

I am Eloi Carbó, a Computer Science student specialized in Information Technology in the UPC of Barcelona. Currently I am working on my Final Degree dissertation: UPC CN-A testbed mesh network deployment, monitoring and validation. Using the Wibed Platform developed by the CONFINE Project [Link: https://wiki.confine-project.eu/wibed:start].

 

About the project collaborators

The project tutors are Roger Baig (fundació Guifi.net) and Axel Neumann (Freifunk and BMX6 support) and the special collaboration of Pau Escrich (fundació Guifi.net and QMP project).

OpenWrt: IEEE 802.1ad VLAN support

This is my first time as GSoC student and I am very glad to have been accepted in the Freifunk organization. I am a computer science student, therefore my life should be full of this kind of experiences, but unfortunately there are few possibilities to develop interesting applications and get a decent wage, due to the ever-increasing cuts in the sphere of research. The university offers several tedious unpaid apprenticeship with few learning value, generally works that machines are supposed to do instead of human beings. Moreover, the state of uncertainty that austerity politics ail people, kills their creativity. The GSoC wage, in addition to community help and fertile environment, will allow me to have some tranquillity and time to devote myself to think on creative ideas and implementing a long awaited feature in OpenWRT.

I have been hacktive in wireless community networks since years and I have seen a lot of situations where the use of the IEEE 802.1ad standard would make a drastic difference. Many times unlucky people were forced to use proprietary software because of the need for 802.1ad. An open implementation of this standard was not available in the past and only recently has it been implemented in the Linux kernel. What is still missing is an UCI standard way to configure 802.1ad interfaces, so at the moment this feature is still not usable by OpenWRT users.

OpenWRT is a Linux distribution primarly designed for embedded devices (e.g. routers) and we currently use it on our community network devices because it is the most suitable for our needs. Furthermore, the OpenWRT community and community networks have wide intersections both in thinking and in participants.

First of all I need to understand better the netifd (OpenWRT network manager) internals, then in agreement with OpenWRT developers I am going to define an 802.1ad UCI device configuration schema and implement its management inside netifd. I am going also to provide a new syntax for 802.1q devices but keeping retrocompatibility, then I am going to update the UCI documentation, do serveral testing and discuss with OpenWRT developers about how to merge the new code in the official repository.

I have already contacted OpenWRT developers and my mentors who seem pleased to help me, I will work hard on this project and I would like to see OpenWRT 802.1ad support rock-solid as soon as possible 🙂 I will push my day by day work on a netifd clone repository on Gitorious, so keep watching it.

More updates soon, and don’t forget the best is yet to come!

Hardware Detection for Libre-Mesh [GSoC 2014]

Hi everyone!

I am Francisco Jiménez (Frank95) and since I heard about the Libre-Mesh community I have been interested in contributing to it. That’s why at the last time I have been participating in the installations of new nodes in Spain and I consider that the idea of Libre-Mesh: Hardware Detection would be very useful for installers. It will contribute to easier and faster installations. 

The Hardware Detection project consists on creating a module for Libre-Mesh in such a way that the system will detect and It will configure the external USB radios and other hardware units automatically. In particular, the creation of plug-in modules for ath9k-htc based hardware, hardware switch chip such as thoses present on the TL-WDRxxxx devices  series and  DIR-632 with 8 ports switch (RTL8309G).

I am excited of being part of the community and participate as a student for the first time in GSoC 2014. Since I met this community, apart from a warm reception,  I have learned a lot about Libre-Mesh firware and OpenWRT. In addition, developing this project is an opportunity for improving my coding knowledge and make my nodes installations simpler.

 
I’ll push my code while I am working here:
 
And finally the code would be merged here:
 
If anyone wants to contribute with tips and feedback (it’s always welcome) please contact me at: 

franciscojim95 [at] gmail [dot] com

 
 

 


 

Rathaus Berlin-Neukölln funkt frei!

Ab sofort haben Besucherinnen und Besucher sowie Anwohnerinnen und Anwohner die Möglichkeit, rund um das Rathaus Neukölln über das Berliner Freifunk-Netz freien, zeitlich uneingeschränkten und kostenlosen Zugang zum Internet zu erhalten.

Die im Rathausturm installierten Router sind über Richtantennen an das bestehende Berliner Freifunk-Netzwerk angebunden und stellen so nicht nur eine Verbindung ins Internet her, sondern ermöglichen den Nutzerinnenn und Nutzern auch Freifunk interne Dienste anzubieten und nutzen. [1]

Nach einem einstimmigen, postiven Echo aus dem Ausschuss für Verwaltung und Gleichstellung, stimmte am 24.04.2013 die Bezirksverordnetenversammlung Neukölln für die Installation von Freifunk-Routern auf dem Rathaus-Gebäude [2]. Der Antrag im Ausschuss für Verwaltung und Gleichstellung ging auf eine Initiative der Piratenpartei zurück.

Der Bezirk stellt den Ort, sowie den Strom für die Freifunk-Hardware zur Verfügung. Die Kosten für Baumaßnahmen und Router konnten aus Mitteln einer Förderung der Medienanstalt Berlin Brandenburg (mabb) gedeckt werden [3]. Die Installation und Wartung der Netzwerktechnik erfolgt ehrenamtlich durch Mitglieder der Berliner Freifunk-Community.

Eine der insgesamt 14 installierten Antennen funkt zum ca. 3.8 km entfernten Rathaus in Kreuzberg, auf dem bereits im Oktober 2013 Router installiert worden waren. Beide Standorte sind Teil des sogenannten BerlinBackBone (BBB), einem WLAN basierten stadtweiten Mesh-Netzwerk über den Dächern Berlins, das Dank der finanziellen Unterstützung durch die mabb derzeit von der Freifunk-Community intensiv modernisiert und ausgebaut wird. Neben den beiden Rathäusern befinden sich darunter auch bereits mehrere Kirchen und Hochschulgebäude.

Über diese Relaisstationen sind die lokalen Kieznetze (Meshwolken) der Freifunkenden untereinander und mit dem Internet verbunden. So ist es möglich, innerhalb der Stadt auch über größere Entfernungen drahtlos untereinander zu kommunizieren, ohne auf Netze der kommerziellen Provider angewiesen zu sein.

Die Zugänge zum Internet werden innerhalb des Netzes dabei sowohl von Privatpersonen geteilt [4] als auch über den Förderverein Netzwerke e.V. und andere Partner bereitgestellt. Besonders der IN-Berlin e.V. und neuerdings auch de Berlin Commercial Internet eXchange (BCIX) e.V. stehen hier tatkräftig mit Know-How und Bandbreite zur Seite.

Aufgrund der vielen positiven Erfahrungen, wie aktuell auch in den Rathäusern Kreuzberg und Neukölln, freut sich die Berliner Freifunk Community darauf, weitere Installationen auf und in anderen öffentlichen und privaten Gebäuden durchzuführen. Freifunk Berlin sucht dazu neben weiteren Standorten auch noch Unterstützerinnen und Unterstützer, die bei der Verwirklichung eines stadtweiten freien Netzes helfen wollen! Weitere Informationen finden sich auf der Website http://freifunk.berlin.

[1] http://wiki.freifunk.net/Berlin:Standorte:Bezirksamt_Kreuzberg

[2] http://www.berlin.de/ba-neukoelln/bvv-online/vo020.asp?VOLFDNR=3790&options=4

[3] http://www.mabb.de/information/wlan/public-wifi.html

[4] https://digitalegesellschaft.de/portfolio-items/storerhaftung-beseitigen/#gesetz

Free Community Networks in Catalonia with Guifi.net

Ramon Roca from Guifi.net talking to ARTE-TV.

Thanks to Elektra for the translation.

Gurb in Spain
1002 km to Brussels

Ramon: The NSA scandal almost makes us laugh I have founded Guifi.net so we can build broadband internet access ourselves.

Voiceover: Here in the middle of the catalan nowhere a digital revolution started 10 years ago.

Ramon and his neighbors have build their own broadband internet because the big commercial providers had no interest in providing access to the village and its vicinity. Today, Guifi.net is one of the greatest altenative networks in the world.

Ramon: I want to show you where the cables merge together. Right here. This rack is the equivalent of a telephone switchboard in a village. It is a bit dirty because this shag actually belongs to my garden. What it can do is impressing. I can’t say it precisely, but these are the routers of 5000 households.

Overdub: In a Freifunk-Network the participants are networking among each other and not via Internet providers. They can directly share data with each other, chat, write e-mails. A decentralized network that the users control themselves.
Thereby their data is secured from access by third parties. Meanwhile, the Internet-Guerilla are able to roll out their own fiberline network. Today, Ramons colleagues are working since 3 AM. We all know that the government operates slowly.
We can’t wait until laws are solving all our problems.

In our case this also comfortable for us: With regards to communication, we can do or not do whatever we like.

Freifunk Wireless Community Weekend 2014 at c-base Berlin, May 30 – June 1

Community mesh networkers from around the world are meeting in May 2014 at the c-base in Berlin.

There are Pre-Meetings May 28 and 29, the „official program“ starts 30th and last until June 1st. In fact the final version of the agenda will be created by attendents on-site. If you add your idea or wish to our wiki upfront, we can take care of your talk or workshop. Hacks sessions are taking place over the whole weekend.

This year we focus on topics like crypto, IPv6 and new services, but also like always latest firmware, new installation setups and last not least legal and political update plus public relations. Following the tradition we’ll have barbecue in the evening hours at Spree beach and we don’t charge entry fee. For more information and taking part, please click here: Wireless_Community_Weekend_2014

when

  • 30 May till 1 June 2014 at c-base berlin

where

inside locations

  • main hall
  • c-base beachpark

Netengine Google Sumer of Code Project

Hi everyone, I’m Alessandro Bucciarelli and I am participating for the first time to Google Summer of Code.
I chose to apply to work on Netengine, a project by Freifunk/Ninux. Netengine is a Python abstraction layer thought to retrieve informations about network configurations, and not only, from multiple couples of network protocols/device firmware.

Actually the main network protocols we are working on are: SNMP, SSH; with HTTP which is an idea for the immediate future.
By the firmware side there are AirOS and OpenWRT which are the most used firmwares among network devices (antennas and other) deployed inside the Ninux network.

Many of the readers, if experienced in the network field, will agree with me in saying that the retrieval of network informations (e.g IP addresses of the interface/s, MAC addresses, routing configurations) is vital.

This aspect is more than vital when you are interacting with remote devices, geographically widespread and sometimes accessible by only unskilled persons, to have a timely diagnostics of the  deployed hardware.

The module we are developing tries to solve, and I am sure it will be so, the problem of having informations from the devices REMOTELY, without any kind of further configurations and without any kind of physical interaction with the device.

For further details and code please visit https://github.com/ninuxorg/netengine or email us at ninux-dev@ml.ninux.org

Your API file in only 6 steps

  1. Call up http://freifunk.net/api-generator/ 
  2. Fill in the information about your community in the form and press “OK – generate…”. Mandatory fields are marked with an asterisk. The more information you enter, the better. 
  3. Your results will be displayed on the right hand side. If information is missing or fields are incorrectly filled, you will see it marked under the text box. Fill in or correct the information and generate the API file again.
  4. Save the content of the text box to a text file on your computer or press the download button.
  5. Upload the file created under point 4. to the Internet on to your Web space, in your content management system or our freifunk wiki. You will need a link to that file.
  6. The link must be added to the API directory. If you trust yourself, create a pull request, or you can send the link via contact form. If you chose the later, select “question about the API” as subject.

Please note: If you want to update, download or edit your API file, you can choose to do so after the entering the API directory, in the drop-down menu on the top right. The file must however be resaved or downloaded and uploaded to the Web server again.  

Please also use the possibilities to update information such as the number of nodes or services automatically and regularly. Gluon developers have written an examplary script, and there is a solution for OLSR-based networks on Github

You can find background information on the API in the blog and on freifunk.net.  

The most recent changes are summarized here.

Translation by Karin Kuschel.