IETF Hackathon 106 – Five Years of Running Code

What started 5 years ago at IETF 92 as a small experiment to put more emphasis on running code has completely changed the way the IETF community produces standards that make the internet faster, more secure, and able to meet the demands of an ever-increasing number of uses and users. This weekend in Singapore, over 300 participants gathered to bring proposed standards to life by translating specifications on paper to running code on the IETF network.

IETF 106 was a return trip to Singapore for the IETF community, having been here two years for IETF 100. As has become the tradition, the IETF meeting began with the IETF Hackathon. At IETF 100, I recall being pleasantly surprised that over 150 people came together to participate in the hackathon. If you had told me then that two years later the hackathon would have doubled in size, I would have been even more surprised.

Writing and reviewing internet drafts is still a critical activity before, during, and after each IETF meeting, but thanks to the IETF Hackathon, there is now an agreed upon time and place to come together to focus on running code, code that tests theories, implements experimental algorithms, and verifies interoperability or the lack thereof. This has not only improved the pace and quality of IETF standards, it has opened doors to new forms of contribution and as new types of contributors, people who excel in software development and now find it easier and more rewarding to participate in the standardization process.

IETF hackathons are collaborative events with a shared goal of moving IETF work forward. T-shirts and laptop stickers are prized takeaways from the event. IETF veterans work side by side with newcomers, exchanging ideas and collaborating on code. This is a great way for newcomers, especially developers interested in networking, security, and other IETF technologies, to have a welcoming introduction to the IETF and start making significant contributions immediately. For 81 individuals, participation in the hackathon was their first experience with the IETF community.

Hackathon Projects

The IETF 106 Hackathon featured 42 projects spanning virtually every aspect of IETF work.

The QUIC team met to test the interoperability of implementations of a new version of the HTTP protocol (HTTP/3), as defined by an updated version of a working group draft that posted only one week before the hackathon. Getting people working on the draft, writing the code, and testing the interoperability of the resulting implementations together in the same room is a common example of the benefits of the hackathon.

The BMP team shared the following account of their hackathon experience.

“This Hackathon was quite meaningful for us. Our BMP team was comprised of Paolo Lucente (NTT), Camilo Cardona (NTT), Thomas Graf (Swisscom), Matthias Arnold (Swisscom) and Yunan Gu (Huawei). It is the first time for all of us to attend Hackathon. The whole idea started from the co-authoring of some BMP enhancement drafts. Then we figured, since we’ve got vendor and ISPs, why not having a closed-loop test of our new ideas? Thus, we did some development work before the Hackathon, e.g., router data collection development and server data processing development. During the actual Hackathon time, we designed testcases to test the interoperability between devices and server. The results are very fruitful. We not only identified the implementation gaps between different vendor devices, but also the gaps between actual implementation and the drafts, and of course, bugs, as always. Most of the findings help correct and refine the product implementation and software development. More importantly, they bring up suggestions/questions to existing RFCs and drafts without having to wait for commercial deliveries for another 2-3 years. We will take these findings to the GROW WG and try to get feedback on the gaps we identified. Such quick closed-loop tests can really help accelerate new implementation and thus further encourages innovation.”
– Yunan Gu, BMP Hackathon team

The IPWAVE and I2NSF teams have participated in several IETF hackathons. Each time, they significantly advance the state of their implementation and the corresponding internet drafts and RFCs.

“The IPWAVE hackathon team worked on IPWAVE Basic Protocols in the IETF 106 Hackathon. The team consisted of contributors (e.g., Yiwen (Chris) Shen (SKKU) and Jaehoon (Paul) Jeong (SKKU)) and other participants (e.g., Hyojoon Han (Dongguk University)). In this hackathon, we demonstrated IPv6 Packet Transmission over IEEE 802.11-OCB for V2V communications with COTS (Commercial off-the-shelf) WiFi devices. We used Atheros 802.11 WiFi module and Linux IEEE 802.11p to deliver real-time webcam streaming between two laptops (regarded as vehicles), and showed the possibility of IPWAVE in vehicular networks. Though the current IPv6 Neighbor Discovery (ND) does not support the IPv6 Stateless Address Autoconfiguration (SLAAC) for a global-scope prefix and neighbor cache population, our team will work for the support of the IPv6 ND and SLAAC in the next hackathon at IETF 107. In the IETF 105 hackathon, we implemented and demonstrated the IPWAVE Vehicular Neighbor Discovery (VND) in a simulation using OMNeT++ and SUMO. Thus, the IETF hackathon is accelerating the IPWAVE standardization and the corresponding open source project for both simulation and real system.”
– Jaehoon (Paul) Jeong (SKKU), IPWAVE Hackathon Project Champion

Read Paul’s blog for more information on the IPWAVE team’s work at IETF 106 hackathon.

“The I2NSF project made its 10th appearance at the IETF 106 hackathon. The I2NSF hackathon team consisted of contributors (e.g., Chaehong Chung (SKKU) and Jaehoon (Paul) Jeong (SKKU)) and other participants (e.g., Yongjoon Joe (LSware) and Duke Moon (Hansol)). The I2NSF hackathon project has worked on the I2NSF framework and the YANG data models of three I2NSF interfaces (i.e., Consumer-Facing Interface, NSF-Facing Interface, and Registration Interface) for a cloud-based security service system for the last three years. The I2NSF framework was built on top of NFV (based on OpenStack) and SDN (based on OpenDaylight). In this hackathon, the I2NSF team worked on the YANG data model of NSF monitoring and got the direction of the implementation of the NSF monitoring. In IETF 105, we developed the Security Policy Translator for Intent-Based Security Systems using SDN and NFV. We will continue to work for the NSF monitoring and Security Policy Translator at the IETF 107 hackathon. Thus, the IETF hackathon is so helpful to I2NSF WG standardization and I2NSF open-source project.”
– Jaehoon (Paul) Jeong (SKKU), I2NSF Hackathon Project Champion

Feedback Loop

Insights gained during the hackathon are captured and shared in short presentations at the end of the hackathon. These presentations are recorded and the materials are available via the IETF Hackathon GitHub. Relevant findings are brought back into working group meetings that run throughout the following week. This accelerates the standardization process and leads to better standards that are more complete, more precise, and easier to implement.

Hackdemo Happy Hour

In the interest of time, presentations at the end of the hackathon are limited to three minutes. They are meant to be conversations starters that highlight:

What problem you tried to solve?

What you achieved?

Lessons learned/feedback to working group

Collaboration with open source communities and other SDOs

The next day, Hackdemo Happy Hour provided a mechanism for teams to have more detailed conversations about their projects with the IETF community, including people not at the hackathon. This extends the reach of the hackathon by connecting people, sharing information, and uncovering areas of common interest.

More information about all the hackathon projects, including links to code and presentations, is available on the hackathon wiki.

Thank you to our sponsors and supporters

Huge thanks to ICANN, both for sponsoring this hackathon and for stepping up to sponsor the next hackathon as well. We greatly appreciate this sponsorship, and we welcome and encourage additional sponsors. By sponsoring the hackathon can help ensure it remains a free event accessible to everyone.

We also thank Cisco DevNet, who sponsored and ran the first several hackathons and continue to be big supporters. Networking standards are critical to Cisco’s business, and the IETF hackathons provides a way for Cisco DevNet to engage with our developer community, not only in the APIs we provide, but also in the common standards that we support and rely upon for interoperability and integration points.

The next IETF hackathon is in Vancouver, at IETF 107, March 21-22. Hope to see you there!

* Photos thanks to the Internet Society