User Tools

Site Tools


IETF 96 Hackathon

The Internet Engineering Task Force (IETF) is holding a Hackathon to encourage developers to discuss, collaborate and develop utilities, ideas, sample code and solutions that show practical implementations of IETF standards.

When: Saturday July 16, 2016 and Sunday July 17, 2016

Where: Intercontinental Berlin (Potsdam III)

Signup for the Hackathon here: Hackathon Registration

View the list of Hackathon Attendees: Attendees

Keep up to date by subscribing to

The Hackathon is free to attend.

Agenda (subject to change)

  Saturday, July 16
      09:00: Room opens - Pastries and coffee
      09:00: Posters of all technologies on display
      09:30: Hackathon kickoff 
      09:45: Form Teams
      12:30: Lunch
      15:30: Afternoon break - Snacks provided
      18:30: Progress check and sharing
      19:00: Dinner
      22:00: Room closes and is locked
  Sunday, July 17
      09:00: Room opens - Pastries and coffee 
      12:30: Lunch 
      13:30: Hacking stops, prepare brief presentation of project
      14:00: Project presentation to other participants and judges
      15:00: Recap and suggestions for improvements
      15:30: Awards presented, prizes given
      16:00: Hackathon ends

For your planning purposes, be aware that we will also have:

  • Space reserved in the IETF Lounge throughout the week of IETF, July 18-22, for people to gather and collaborate on hackathon activities
  • A table at Bits-N-Bites on Thursday, July 21, for hackathon participants to share their projects with the IETF community at large

Meeting Materials

  • Prep Call, Wednesday, July 6, 2016, 7:00 am (San Francisco, GMT-07:00)
  • Presentations can be accessed from the IETF Hackathon Materials
  • Code can be accessed from IETF Hackathon Github or from links provided for within project descriptions below.
    • Request to be added to IETF Github organization by sending your Github ID to Charles Eckel
  • Presentations of Project Results - Recording
  • Follow Teams through Hackathon and Bit-n-Bites - Video

Technologies Included in Hackathon (more can be added)


  • Champion(s)
    • Susan Hares
    • volunteers: Don Fedyk, Edwin Cordiero, and others
  • Project(s): I2RS RIB and L3 Topology Models
    • Goals:
      • Implementation of I2RS RIB and L3 Topology drafts in Quagga over Ubuntu 14.04 (without notifications),
      • Create application programs that query and utilize I2RS NETCONF/RESTCONF interface on ubuntu 14.04,
      • Add notifications to I2RS RIB and L3 topology drafts
      • Add traceability to I2RS RIB and L3 Topology drafts
      • Create virtual package (minnet + ubuntu + code above) that users can work)
      • Port package to ONOS and ODL.
    • ONOS code repository:
    • Code base be provided before IETF
      • Confd deltas for I2RS support (cisco dev/net source for netconf deamon)
      • Quagga with i2rsd (handles RIB and L3 Topologies)
      • yumaproc-cli binary integrated with I2RS Yang modules (RIB, L3 Topology)
      • ubuntu only + virtual package kits for testing
    • Can you hellp with: : application ideas/code, being a tester, alternate netconf/restconf open source, quagga coding


  • Champion(s)
  • Volunteers
    • Satish K, Haomian Xheng, Victor Lopez, Yan Boyuan, Wang Wei etc
  • Remote
    • Manuela
  • Project(s)
    • ACTN (Abstraction and Control of TE network)
      • Setup a hierarchy of controllers
      • Project 1 - Extend for multi-destination option ( i.e. selection of an endpoint from a possible list)
      • Project 2 - Survivability Analysis
    • For this project(s) we would be using ONOS platform
    • Detailed information at -

PCE based Central Control

  • Champion(s)
  • Volunteers
    • Oscar, Diego, Dan King
  • Remote
    • TBD
  • Project(s)
    • PCE based Central Control
      • also known as PCECC
      • Use PCEP as an SBI
      • Extend PCECC for Label DB synchronization optimization
    • PCEP over TLS (PCEPS)
      • TBD
    • For this project(s) we would be using ONOS platform
    • Code repository to be used - GitHub
    • Detailed information at -


  • Champion(s)
  • Volunteers
    • Dong Jie, Gaurav Agarwal, Oscar, Jeff Tantsura, Alessio Giorgetti
  • Remote
    • TBD
  • Project(s)
    • BGP-LS
      • Support for Segment Routing (SR) in BGP-LS
    • BGP-Flowspec
      • RPD in BGP-Flowspec
    • For all the projects we would be using ONOS platform
    • Detailed information at -
    • Exporting topology learned from network via BGP-LS to a NBI using IETF Topology yang models
      • Oscar (Telefonica)



  • Champion(s)
    • Dan York
    • Allison Mankin
    • Sara Dickinson
    • Melinda Shore
    • Willem Toorop
    • Tim Wicinski
    • Rick Lamb
  • Project(s)
    • Applications that use DNSSEC, DANE and DNS privacy via getdns (Python,node.js, or C)
    • TLS and DNS interfaces, including but not limited to the TLS DNS chain extension
    • Completion and interop of edns keep-alive implementations (getdns, unbound, others) and testing of connection management by servers
    • RFC 5011 implementation and testing in getdns
    • Universal Acceptance review of getdns
    • Continued work on other projects from Hackathon 95
    • Make BIND work with smartcards without patches (Rick Lamb)
      • I've had this site for some time and many are using its contents for their own DNSSEC deployments (including a CCTLD or two). Problem is BIND currently must be patched to support this (originally 2008) mod. Every time BIND gets updated surgery needs to be done to make the patch work again. The solution I am offering is to write a PKCS11 intermediate driver that BIND can use in NATIVE PKCS11 mode to use any smartcards OpenSC supports. Initial tries show promise. At the Hackathon I would like to press this to the next step and publish.
    • DNSSEC deployment maps (Dan York)
      • I want to take the python code that generates the weekly DNSSEC deployment maps and make several changes:
        • Finish the work to move it from a private to a public repo so that the code is openly available.
        • Add a changelog to the weekly email so that it lists what has changed since the maps generated the previous week.
        • Ideally I'd like to figure out how the maps could be auto-published to a WordPress site each week.
      • I would welcome any assistance as my python skills are a bit rusty.
    • Other projects TBD - please suggest and/or come join us with them



  • Champion(s)
  • Project(s)
    • lmapd integration with libnetconf2 or sysrepo or … to support RESTCONF (Juergen)
    • Implement a controller that controls a number of measurement agents
    • Implement a reporting task that sends results via RESTCONF to a collector
    • Implement a collector receiving results and storing stuff in a database
    • Packaging and integration into OpenWrt, Debian, Mac Ports, …
    • Internet measurement trials driven by lmapd
    • Integration with the IPPM metrics registry


  • Champion(s)
  • Project(s)
    • Implement IPv6 ILA translation in's VPP (Vector Packet Processor) virtual router as a bump in the (virtual) wire.
    • Implement ILA in IOVisor's XDP (eXpress Data Path).


TLS 1.3

  • Champion(s)
  • Project(s)
    • TLS 1.3 interop
      • NSS (EKR, MT)
      • Apache (Kiefer, Taubert)
      • Firefox (EKR, MT, Damjanovic)
      • ProtoTLS (Kobeissi)
      • MiTLS (Delignat-Lavaud)
      • BoringSSL (Valdez?)
    • TLS server qualification suite
      • tlsfuzzer (krose)


  • Champion(s)
    • Christophe Fontaine
    • Jerome Tollet
  • Project(s)
    • Mininet integration of VPP for SFC
    • Explore stateful usecases in VPP (Load balancing in a service chain, … )

SCTP and WebRTC Datachannels

  • Champion(s)
  • Project(s)
    • Improve the SCTP stack used in the FreeBSD kernel and the userland stack usrsctp.
    • Improve the Datachannel support in Webbrowsers like Chrome and Firefox.

Media Address Resolver Service (MARS)

IoT bootstrapping for Noobs with EAP-NOOB

Don’t see anything that interests you? Feel free to add your preferred technology to the list, sign up as its champion and show up to work on it. Note: you must login to the wiki to add content. If you add a new technology, we strongly suggest that you send email to to let others know. You may generate interest in your technology, and find other people who want to contribute to it.

TEMPLATE: Copy/paste and update the following template to add your project to the list:


  • Champion(s)
    • tbd
  • Project(s)
    • tbd

To request a wiki account, please click on the login button on the bottom right corner of the page, and choose register. If you need a new password please click on the login button on the bottom right corner of the page and choose Send new password.



Participant Preparation and Prerequisites

  • Bring a laptop on which you are comfortable developing software
    • Some projects may require installing additional software
  • Familiarity with the technology area(s) in which you plan to participate will certainly help
  • Brief introductions will be provided at the start of the Hackathon by the champions associated with each technology
  • Your laptop is the default development platform for each technology
  • Anything else that is required will be provided, such as VMs you can install on our laptop or access from your laptop
    • Installing and becoming familiar with VirtualBox or something similar will help
    • Note to champions: if planning to make use of VMs, please bring on USB drives to make available to others as download times can be painful
  • Specific coding languages are called out for some of projects (e.g. Python, Java), but this is heavily dependent on the project(s) you choose
  • Wireless access to the IETF network will be provided, and from there to the outside world
  • Wired access to the IETF network will be provided as well
  • Git/GitHub is commonly used for open source projects. Familiarizing yourself with it is recommended.
  • Champions for each technology are encouraged to share any other things they think would be helpful in preparation for the hackathon

Remote participation

  • Participating in person is preferred, but we understand not everyone can travel. If you want to participate remotely, please contact the champion(s) for that project to determine how best to coordinate.
  • Jabber Room:

IPR and Code Contribution Guideline

All hackathon participants are free to work on any code. The rules regarding that code are what each participant's organization and/or open source project says they are. The code itself is not an IETF Contribution. However, discussions, presentations, demos, etc., during the hackathon are IETF Contributions (similar to Contributions made in working group meetings). Thus, the usual IETF policies apply to these Contributions, including copyright, license, and IPR disclosure rules.

96hackathon.txt · Last modified: 2016/11/17 08:28 by