Where are the new kingmakers? They are at the IETF hackathon, or at least they were last weekend. The best and brightest internet technologists from around the planet gathered in Prague this week for IETF 99. The first order of business was the IETF hackathon, aimed at invigorating the standards process, enhancing the speed and relevance of emerging standards, and growing the community of people working with and contributing to the IETF.
The Internet Engineering Task Force (IETF) is a standards organization whose mission is to make the Internet work better by producing high quality, relevant technical documents that influence the way people design, use, and manage the Internet. From its inception in 1986, the IETF has held “rough consensus and running code” as its motto and mode of operation. However, the reality slowly shifted over time until the majority of the structure, effort, and activities revolved around discussions, documents, and long email threads dedicated to forming rough consensus with very little emphasis on running code. The first hackathon, held in March of 2015 at IETF 92, was an attempt to restore the balance. The 8th hackathon at IETF 99 in Prague was a strong indication the strategy is working.
Prague is a beautiful city, with fantastic architecture, picturesque bridges and canals, and terrific food and beer all at very affordable prices. Despite all that, a record 199 hackathon participants opted to spend their weekend in a crowded room collaborating with fellow subject matter experts and developers working on the latest algorithms and ideas around internet protocols, transports, and security. For nearly half the participants, this was their first IETF hackathon, and for 45 participants, this hackathon was their first time at any IETF event. With over 25 different projects from which to choose, newcomers and seasoned IETF veterans alike had an easy time finding one of more areas of common interest and expertise to which they could contribute. This collaborative and constructive atmosphere turns out to be a great way to get started with the IETF, its community, and its work items.
Not Your Typical Hackathon
The IETF Hackathon is not a typical hackathon. Participants are motivated by a desire to improve the internet rather than prize money. The spirit is collaborative rather than competitive. Participation is free and attending the IETF meeting that follows is not required. Individuals volunteer to “champion” projects related to IETF work, and teams form around these champions. The list of projects for this hackathon where as follows:
Authenticated Received Chain (ARC)
COSE in the network: Secure Wake-on-Radio (SWORN)
DNS, DNSSEC, DNS Privacy
HTTP error code 451
Interface to Network Security Functions (I2NSF) Framework
Multicast over SPRING
Multiple Provisioning Domains (mPvD) and Captive Portal detection
SCHC implementation and test SCTP
SDN Apps for management of microwave radio link via IETF YANG Data Model
Secure IoT bootstrapping for Noobs with EAP-NOOB
SysRepo - Segment Routing v6
Additional information about each project is available in the hackathon wiki.
One of the ways the hackathon increases the pace and relevance of IETF work is through running code. Implementing evolving standards and producing running code validates the standards and highlights things that may be missing, wrong, or ambiguous in draft versions of these standards. Better still is if the code is open source, in which case viewing and sharing the source code aids in understanding the standards, makes them easier to use, and promotes adoption.
The doors to the hackathon opened at 8am Saturday morning for project champions to setup their tables and development environments. By 9am, the room was mostly full with eager participants exploring the options and opportunities with various champions. At 9:30am we had the official kickoff to welcome everyone, review logistics, and answer any questions. Then the real work began. Teams dug in and worked past the official closing time at 9pm. Of course, we had fun all along the way, taking time to get to know each other, and in many cases, help or be helped by people from other teams. Having people from various standards organizations, open source communities and universities exchange contact info and ideas provides benefits that reach far beyond the course of the weekend. By 9:30pm, the last remaining hackathoners grudgingly packed up for the night.
The doors officially reopened at 9am Sunday, but the room was already half full by 8:30am. Work continued until early afternoon at which time teams prepared and delivered presentations summarizing what they achieved, lessons learned along the way, and what would be fed back into IETF working groups to accelerate their standardization efforts. These presentations were delivered to a panel of judges from the IETF community.
In the name of friendly competition, winners are selected based on the following criteria:
Advance pace and relevance of IETF standards
Bring speed and collaborative spirit of open source software into the IETF
Flush out ideas, feed into WG session
Produce sample code/reference implementations, utilities
Attract developers, young people to IETF
Match young, skillful developers with IETF veterans
University engagement around hackathon projects
The award categories and winners from this hackathon were as follows:
Best New Work - HTTP error code 451
Best University Work - Interface to Network Security Functions (I2NSF) Framework
“NEAT”est Work - NEAT/TAPS
Best Interop Work –
Best Continuing Work - SCHC implementation and test SCTP
Best Name - Waiting for go-dots
Best Overall - SDN Apps for management of microwave radio link via IETF YANG Data Model
Other teams had fantastic achievements as well. All project presentations are available here.
One pervasive theme was collaboration across standards efforts and open source communities, with a particularly good example being the work done by the team working on RIOT. Cenk Gündoğan, RIOT maintainer, had this to say:
RIOT powers the Internet of Things like Linux powers the Internet. RIOT
is a free, open source operating system developed by a grassroots
community gathering companies, academia, and hobbyists, distributed all
around the world.
RIOT supports most low-power IoT devices and microcontroller
architectures (32-bit, 16-bit and 8-bit) and implements all relevant open
standards supporting an Internet of Things that is connected, secure,
durable, and privacy-friendly.
The IETF99 Hackathon provides an excellent opportunity to connect with
hackers around the world and share experiences about their
The hackathon ended officially on Sunday afternoon, at which time the general IETF meeting gets underway. Fortunately, collaboration on running code that progresses IETF standards forward continued throughout the week. A portion of the IETF Lounge was designated as Hackathon Corner to make it easy for people to congregate, collaborate, and code.
New for this IETF meeting was the opportunity to access the Hacklab, a rack of servers and network gear, including a full DOCSIS network with half a dozen simulated home networks accessible via a cable modem and built-in WiFi.
Running code is a critical aspect to the history and evolution of the Internet. Hacklab is an extension of the Hackathon that takes place during each IETF meeting throughout the year. Hacklab is an ideal environment where engineers from around the globe, that participate in the IETF, can work side by side implementing the protocols that they develop under the IETF umbrella.
- John Jason Brzozowski, Comcast Fellow and Chief IPv6 Architect
Demos to IETF Community
One of the perks of participating in the hackathon is the ability to show off what you did at the Thursday night social event known as Bits-n-Bites. A record number of teams took advantage of this, and more would have if we had space to accommodate them. Hackathon teams polished and enhanced their projects throughout the week, then put them on display for whoever was interested to learn more. Turns out this was most to the people at the IETF meeting. Of course, great local food and beverages helped attract a crowd as well. Below is a summary slide for each demo,followed by a few photos from the gathering.
What is Next?
The next IETF Hackathon is at IETF 100 in Singapore, November 11-12, 2017. As always, participation is free and open to everyone. The IETF hackathon offers an excellent opportunity to experience firsthand the critical work the IETF does and the people that make it happen. It is an event that invites open source communities, other standards organizations, universities, and people from the local community to join the IETF to improve the functionality, security, and durability of the internet we all know and love. To get more information on all things related to past, present, and future hackathons, including the opening of registration for the IETF 100 Hackathon, visit https://www.ietf.org/hackathon/. You are also encouraged to subscribe to firstname.lastname@example.org to get the latest breaking news and announcements.
Hello team,I have to get some information from lots of devices.In this case, I need information such as ip address, device name and serial number.When I send the request, it takes so long (we have more than 11k devices) because serial number does not appe...
Hello, I am getting following error while trying to use the filter for netconf in Python. Please help to make corrections: m = manager.connect(host="sandbox-iosxe-latest-1.cisco.com", port=830, username="developer", password="C1sco12345", hostke...
I am trying to configure the ospf on the router in CML lab through ansible. Snippet of my playbook and host_var is attached:this is the result that i am getting TASK [Configuring OSPF on Routers] ******************************************************...
Hi all, I am trying to use the Integrity Verification Application (ver 126.96.36.1995) in APIC-EM (188.8.131.52024) to verify ISR 4331's platform integrity but facing the unknown boot0 measurement issue. I initially tried with bootloader version 16....
The Viptela API documentation suggests to reuse the rest API session, but I am unable to reuse the session, and also the documentation does not have an example for that, Below code give me an error if I store the cookies in a text file and reuse it f...