IETF 110 Hackathon
The Internet Engineering Task Force (IETF) is holding a hackathon to encourage developers and subject matter experts to discuss, collaborate, and develop utilities, ideas, sample code, and solutions that show practical implementations of IETF standards.
When: Monday, 1 March through Friday, 5 March, 2021
Where: IETF 110 is an online only meeting and so is the hackathon.
Sign up for the hackathon: Here
View the list of registered hackathon participants: Participants
IETF 110 Gather link: Here
Guide for IETF 110 Participants: Here
Hackathon Blog Post: Here
Hackathon Survey Results: Here
Keep up to date by subscribing to https://www.ietf.org/mailman/listinfo/hackathon
The IETF Hackathon is free to attend and is open to everyone. It is a collaborative event, not a competition. Any competition is friendly and in the spirit of advancing the pace and relevance of new and evolving internet standards.
Agenda
IETF Hackathon
- Monday, 1 March, 2021
- Hackathon Kickoff - 17:00 - 19:00 CET (16:00 - 18:00 UTC) Recording
- Monday, 1 March - Friday, 5 March
- Teams work on projects, see Team Schedule
- Friday, 5 March, 2021
- Hackathon Closing - 17:00 - 19:00 CET (16:00 - 18:00 UTC) Recording
NOTE: You will need a datatracker account to login to the hackathon Meetecho sessions and gather.town. When you register for the hackathon, you are sent a separate email to create a datatracker account. If you already have a datatracker account, please ensure that the email address you registered with is added to your account. If you received the email but the link to create an account has expired, please see the instructions below:
- Go to https://datatracker.ietf.org/accounts/create/
- Select ‘new account’ from the User menu at the top
- Enter the email address that you registered with for the Hackathon
- Follow the instructions in the email you receive
Meeting Materials
- Code can be accessed from IETF Hackathon GitHub, or from links provided within project descriptions below.
- Request to be added to IETF GitHub organization by sending your Github ID to (hackathon-chairs@…).
- Results of hackathon projects should be uploaded to https://github.com/IETF-Hackathon/ietf110-project-presentations. See the README for details.
- Teams are encouraged to present their results during the Hackathon Closing. Sign up to present your results Results Presentation Schedule
Participant Preparation and Prerequisites
- Choosing a Project
- Champions post and lead projects
- How and when teams meet during the week is up to them
- Details on each project and links to additional information for each project are in this wiki in the "Projects Included in Hackathon" section
- Familiarity with technology area(s) in which you plan to participate will certainly help
- It is perfectly fine, even encouraged, to work on multiple projects
- Lost & Found
- Participants looking for a team and champions wanting help on their projects are encouraged to visit the Lost & Found.
- Development Environment
- Bring a laptop on which you are comfortable developing software
- Some projects may require installing additional software or make use of VMs or containers
- Installing and becoming familiar with VirtualBox, Vagrant, Docker or something similar may be helpful
- Specific coding languages are called out by some projects (e.g. Python, Go, Java, C++), but this is heavily dependent on the project(s) you choose
- Sharing Code
- Git/GitHub is commonly used for open source projects. Familiarizing yourself with it is recommended.
- An online tutorial is available here: Git Tutorial
- IETF Hackathon GitHub Org
- If you would like to have your project/code hosted here, send your GitHub ID and the name of your project via email to (hackathon-chairs@…)
- Training Materials
- Network programmability based on IETF standard protocols and models is relevant to many projects. Self paced online training modules are available on Cisco DevNet. Access is free but a DevNet account is required. You can login or create an account quickly with this IETF Hackathon specific link LINK TBD
- Champions for each technology are encouraged to share any other things they think would be helpful in preparation for the hackathon
- Project Presentations
- All teams have the opportunity to present what they did on Friday during the closing session of the Hackathon.
- https://github.com/IETF-Hackathon/ietf110-project-presentations is for IETF hackathon teams to upload their hackathon project presentations
- You must be a member of the IETF-Hackathon GitHub org to upload a new presentation or update/replace an existing presentation
- To be added as a member, see details in the README
- DO NOT WAIT until just before hackathon project presentations start or your request may be lost in the chaos
- All teams have the opportunity to present what they did on Friday during the closing session of the Hackathon.
Network
Access to virtual IETF network
- The NOC team has been working on an experiment that allows you to join the IETF network while attending the meeting remotely. Unfortunately, we ran into issues and are not able to offer this capability at this time. We are not abandoning the idea and hope to be able to offer it in a more stable fashion in the future. For those of you who were counting on this capability for the IETF 110 Hackathon, please accept our apologies. We appreciate your patience and understanding.
Webex sessions for teams
Champions can request a Webex account they can use to schedule meetings for their team. These are similar to the Webex accounts allocated to working group chairs to be used for virtual interim meetings. An account can be requested by a team champion at any time. Accounts will remain active and available for use until the end of March 2021. Request your account HERE. In the request form, you can use your project name where it asks for "Working Group Name".
Ongoing communication
In addition to registering for the hackathon and subscribing to the hackathon list, it is recommended to monitor both the hackathon wiki and the list as the hackathon approaches, determine which project(s) are of interest to you, and reach out to the champions of those projects to determine how best to be involved and coordinate with the rest of the team working on each project.
Champions are welcome and encouraged to list times and mechanisms for collaborating with their team in the Team Schedule. Participants can use this page to determine how and when to reach other team members.
The hackathon kickoff and the closing presentations will be available via Meetecho. The hackathon Jabber room may be used for general and project specific communication.
- Jabber room: xmpp:hackathon@jabber.ietf.org
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.
Projects Included in Hackathon (add your project using the template provided at end of project list)
- Note, all projects are open to everyone. However, some champions have identified their projects as being particularly good for first time IETFers and/or first time hackathoners. These projects are marked with a star, i.e. '*'. If you are championing a project that is great for newcomers, please add a '*' at the end of your project name.
P4
- Champion(s)
- Hemant Singh (hemant@…)
- Project(s)
- P4 to VPP
- Bring your P4-16 programs and I will use a proprietary compiler from MNK Labs to convert P4 to a VPP plugin.
BMWG - YANG model and implementation of Network Interconnect Tester
- Champion(s)
- Vladimir Vassilev (vladimir at lightside-instruments.com)
- Project(s)
- Model and implementation of YANG/NETCONF managed RFC2544 capable Network Interconnect Tester
- Specifications:
- Repositories
- Scripting - YANG/NETCONF benchmark orchestration code
- Software - YANG/NETCONF device side code
- Firmware - HDL
- Hardware - board design
Network Telemetry with BGP Monitoring Protocol (BMP) and YANG Push
- Champion(s)
- Yunan Gu (guyunan at huawei.com), Paolo Lucente (paolo at ntt.net), Pierre Francois (pierre.francois at insa-lyon.fr), Thomas Graf (thomas.graf at swisscom.com), Tianran Zhou (zhoutianran at huawei.com), Guangying Zheng (zhengguangying at huawei.com), Yi Qin (qinyi at huawei.com), Zhiguo Zhu (zhuzhiguo at huawei.com)
- YANG Push RFC and Draft(s)
- UDP-based Transport for Configured Subscriptions (https://tools.ietf.org/html/draft-ietf-netconf-udp-notif)
- Subscription to Distributed Notifications (https://tools.ietf.org/html/draft-ietf-netconf-distributed-notif)
- YANG Project(s)
- Improve YANG push data-collection by preserving end to end YANG schema and enable publishing directly from line card processors.
- Development of an open-source example YANG push UDP publisher.
- Development of an open-source YANG push UDP receiver with Apache Kafka JSON schema registry integration.
- Perform interoperability tests.
- BMP RFC and Draft(s)
- RFC 7854 (https://tools.ietf.org/html/rfc7854)
- RFC 8671 (https://tools.ietf.org/html/rfc8671)
- Support for Local RIB (https://tools.ietf.org/html/draft-ietf-grow-bmp-local-rib)
- TLV support for BMP Route Monitoring and Peer Down Messages (https://tools.ietf.org/html/draft-lucente-bmp-tlv)
- BMP Extension for Path Marking TLV (https://tools.ietf.org/html/draft-cppy-grow-bmp-path-marking-tlv)
- BGP Route Policy and Attribute Trace (https://tools.ietf.org/html/draft-xu-grow-bmp-route-policy-attr-trace)
- BMP Project(s)
- Bringing visibility into BGP control-plane and how it's being used in the forwarding plane.
- Extend existing BMP capabilities with new RIB's, message types and TLV's at router and data collection.
- Enable BMP BGP Local-RIB control-plane to IPFIX forwarding-plane metric correlation.
- Perform interoperability and loss/delay tests.
CoAP Group Communication with Group OSCORE
- Champion(s)
- Rikard Höglund <rikard.hoglund at ri.se>
- Marco Tiloca <marco.tiloca at ri.se>
- Project
- Verify that group key derivation from group context
- Verify that key pair derivation from group context
- Send and Reply to group messages with group context
- Send and Reply to group messages with paired group context
- Specifications:
ACE Group Key Manager
- Champion(s)
- Marco Tiloca <marco.tiloca at ri.se>
- Rikard Höglund <rikard.hoglund at ri.se>
- Project
- Send requests to an OSCORE Group Manager to join an OSCORE group and obtain the keying material
- Specifications:
EDHOC
- Champion(s)
- Marco Tiloca <marco.tiloca at ri.se>
- Rikard Höglund <rikard.hoglund at ri.se>
- Project
- Establish keying material for OSCORE using the EDHOC protocol
- Specifications:
Interface to Network Security Functions (I2NSF) Framework
- Champion(s)
- Jaehoon Paul Jeong <pauljeong at skku.edu>
- Project(s)
- This project is to develop a Cloud-based Security Service System using IETF I2NSF (Interface to Network Security Functions) framework and interfaces.
- The reflection of the latest updates of the YANG data models of the I2NSF interfaces such as Consumer-Facing Interface, NSF-Facing Interface, Registration Interface, and Monitoring Interface
- I2NSF Security Policy Translation from a high-level security policy to a low-level security policy applied dynamically.
- I2NSF security policy provisioning with NSFs required for the given low-level security policy.
- I2NSF NSF Monitoring YANG Data Model Draft that supports the monitoring data collection from an NSF to an I2NSF Analyzer via NETCONF.
- Specifications:
- https://tools.ietf.org/html/rfc8192
- https://tools.ietf.org/html/rfc8329
- https://tools.ietf.org/html/draft-ietf-i2nsf-applicability-18
- https://tools.ietf.org/html/draft-ietf-i2nsf-capability-data-model-15
- https://tools.ietf.org/html/draft-yang-i2nsf-security-policy-translation-06
- https://tools.ietf.org/html/draft-ietf-i2nsf-consumer-facing-interface-dm-12
- https://tools.ietf.org/html/draft-ietf-i2nsf-nsf-facing-interface-dm-10
- https://tools.ietf.org/html/draft-ietf-i2nsf-registration-interface-dm-09
- https://tools.ietf.org/html/draft-ietf-i2nsf-nsf-monitoring-data-model-04
- https://www.openstack.org/
- https://www.tail-f.com/confd-basic/
- Where to get code:
- Video clip demo:
IP Wireless Access in Vehicular Environments (IPWAVE) Basic Protocols
- Champion(s)
- Jaehoon Paul Jeong <pauljeong at skku.edu>
- Project(s)
- IP-Based Context-Aware Navigator Protocol
- This project is to develop a vehicular communication system for safe and secure driving using IETF IPWAVE protocols.
- Transmission of IPv6 Packets over IEEE 802.11-OCB (IPv6 over 802.11-OCB)
- Linux Kernel Compiling for OCB mode (Kernel version 4.4).
- Vehicular Mobility Information (VMI) option in IP-based vehicular networks.
- IPv6 packet transmission by two OCB-enabled AION robots.
- Communication-based accident avoidance.
- IP-Based Context-Aware Navigator Protocol
- Specifications:
- https://tools.ietf.org/html/rfc8691
- https://tools.ietf.org/html/draft-ietf-ipwave-vehicular-networking-19
- https://tools.ietf.org/html/draft-jeong-ipwave-vehicular-neighbor-discovery-10
- https://tools.ietf.org/html/draft-jeong-ipwave-vehicular-mobility-management-04
- https://tools.ietf.org/html/draft-jeong-ipwave-context-aware-navigator-02
- https://tools.ietf.org/html/draft-jeong-ipwave-security-privacy-02
- Where to get code:
- Video clip demo:
DNS
- Champion(s)
- Benno Overeinder <benno at nlnetlabs.nl>
- Project(s)
- DNS Catalog Zones
- DNS Zone Transfer-over-TLS
- https://datatracker.ietf.org/doc/draft-ietf-dprive-xfr-over-tls/
- Also see this document for proposed work: https://docs.google.com/document/d/1szbKPB4ij-8LnVbgCwhftxnsvdBMp6clxPWDpUc2vQM/
- Service binding and parameter specification via the DNS (DNS SVCB and HTTPS RRs)
- DNS-over-QUIC (DoQ)
- https://datatracker.ietf.org/doc/draft-ietf-dprive-dnsoquic/
- Draft now includes an implementation section, more work and interop testing would be nice
- Also proposed changes so it could support XFR - PoC of these proposed changes would be great to see
- Use of Flamethrower (https://github.com/DNS-OARC/flamethrower) to do performance measurements?
- Chat for and on *DNS* hackathon projects via:
Sliding Window FEC codec (SWIF)
- Champion(s)
- Vincent Roca (vincent.roca_at_inria.fr)
- Project(s)
- Main goal is to develop an open-source C-language codec for a sliding window FEC code. This development is done in the context of the "Coding for Efficient Network Communications" Research Group (NWCRG, https://datatracker.ietf.org/rg/nwcrg), with strong relationships with the Generic API I-D (https://datatracker.ietf.org/doc/draft-roca-nwcrg-generic-fec-api/) and RLC codes (https://datatracker.ietf.org/doc/rfc8681/) as examples of sliding window codes. More info at (https://github.com/irtf-nwcrg/swif-codec)
Bigbang
A tool for quantitative mailinglist analysis and more!
- Champion(s)
- Sebastian Benthall (sbenthall_at_gmail.com)
- Niels ten Oever (mail_at_nielstenoever.net)
- Project(s)
- Integration and analysis of 3GPP and IEEE mailing lists
- Integration with the INDELab conversationkg tool
- Produce instructional videos
- Improve linking across datasets (such as the datatracker and mailing lists)
- Query/notebook design to support projects from research community
- Create ReadTheDocs?
- Actives Issues
QUIC
- Champion(s)
- Lars Eggert
- Nick Banks
- Project(s)
- interop around the current set of implementation drafts
- interop performance testing (see https://github.com/quicwg/base-drafts/wiki/Performance-Hackathon)
- measurements with Spindump, interop testing & new versions (see also separate item)
QUIC Measurements
- Champion(s)
- Jari Arkko
- Project(s)
- measurements with Spindump, interop testing & new versions (see also separate item)
- new measurement experiments?
- add your project here!
TLS-based EAP methods and TLS 1.3
- Champion(s)
- Alan DeKok?
- Project(s)
- Testing EAP peers and servers for TLS 1.3
- Participants
- Microsoft (Bernard Aboba)
- FreeRADIUS (Alan DeKok?)
- hostap / wpa_supplicant (Jouni Malinen)
- Mbed TLS (Hannes Tschofenig)
- Specifications:
- EAP-TLS documented at https://tools.ietf.org/html/draft-ietf-emu-eap-tls13-14
- TTLS / PEAP changes from TLS 1.2 https://tools.ietf.org/html/draft-ietf-emu-tls-eap-types-01
- Note that implementations are currently at draft-ietf-emu-eap-tls13-13, not -14
- Where to get code
- Please email Alan DeKok? at aland@… for access to docker images, etc. for testing. There are only a few key players, and it is critical to not have beta code shipping to production. So even the Open Source code is in developer branches.
BMWG - Containerized Infrastructure Benchmarking
- Champion(s)
- Quang Huy Nguyen(huynq at dcn.ssu.ac.kr), KJ Sun(gomjae at dcn.ssu.ac.kr), Younghan Kim(younghak at ssu.ac.kr)
- Project(s)
- Figure out container networking performance in Service Function Chain on a host
- Evaluating network performance based on vSwitch (OVS/DPDK and VPP) and virtual Interface (memif/vhostuser)
- Specifications:
Application-aware G-SRv6 networking
- Champions
- Projects
- Develop functions of Generalized SRv6 (G-SRv6).
- Combine G-SRv6 with APN6, to achieve Application-aware G-SRv6 networking.
- Specifications
- Open Communities
rare.freertr.net - BIER PoC on top of our p4 lab
- Champion(s)
- mc36, fl, jordi
- Project(s)
- demo.freertr.net - you can participate in a BIER network, we'll sometimes stream music...
ns-3 models for L4S, TCP, and AQM
- Champion(s)
- Tom Henderson (tomh@…)
- Mohit Tahiliani (tahiliani.nitk@…)
- For more information (chat room, WebRTC)
- Project(s)
- L4S models for ns-3
- Finish off TCP Prague and Dual Queue L4S models
- Finish off FQ model improvements: a COBALT AQM for cake, an FQ PIE, FQ refactoring to avoid code duplication
- L4S Linux kernel upgrade
- (volunteer wanted) Port testing branch of L4S kernel to BBRv2 branch from Google
- Other projects will be listed on our wiki page (see above)
- L4S models for ns-3
- Specifications
TEEP SUIT
- Champion(s)
- David Thaler <dthaler at microsoft.com>
- Hannes Tschofenig <hannes.tschofenig at arm.com>
- Akira Tsukamoto <akira.tsukamoto at aist.go.jp>
- Kuni Suzaki <k.suzaki at aist.go.jp>
- Kohei Isobe <isobekohei at gmail.com>
- Ken Takayama <11kenterada at gmail.com>
- Masashi Kikuchi <kikuchi at lepidum.co.jp>
- Takahiko Nagata <nagata at lepidum.co.jp>
- Russ Housley <housley at vigilsec.com>
- Brendan Moran <Brendan.Moran at arm.com>
- Koen Zandberg <koen.zandberg at inria.fr>
- Patrick Otipka <Patrick.Otipka at gmx.at>
- Project(s)
- TEEP protocol on top of TEEP transport protocol: client and TAM, supporting new draft-05
- SUIT manifest in TEEP protocol: Interoperatibility test of SUIT manifest in TEEP protocol
- Specifications:
RATS & friends
- Champion(s)
- Yogesh Deshpande
- Thomas Fossati
- Sergei Trofimov
- Project(s)
- end-to-end attestation verification in Veraison
- tracked spec (EAT, CoSWID) sync-up
- Code
- Specifications
CoRE and friends
- Champion(s)
- Christian Amsüss
- Project(s)
- Linking together projects around CoRE (Resource Directory, ACE, OSCORE groupcomm, EDHOC)
- Notes
ASDF/WISHI
- Champion(s)
- T2TRG chairs, ASDF chairs
- Project(s)
- Validate SDF 1.1, semantic proxying, trying mapping files, ... ➔ https://github.com/t2trg/2021-03-hackathon/wiki
LPWAN SCHC header compression and fragmentation
- Champion(s)
- Laurent Toutain (IMT Atlantique) laurent dot toutain at imt dash atlantique dot fr
- Dominique Barthel (Orange Labs) dominique dot barthel at orange dot com
- Logistics
- working hours 13:00-16:00 UTC Tuesday-Thursday
- meet on Gather.town (see link at the top of this page). We'll be sitting at/near the table 'h', south-east of the hackathon/lounge space
- Project(s)
- for documentation about SCHC, see
- The goal is to advance the GitHub? python open source implementation of SCHC compression and fragmentation (openschc.net)
- improve the tutorial. In general, make it easier for a newcomer to join the project and contribute.
- iron out implementation to fit latest draft revisions
- interface to underlying network (UDP or interface to real hardware)
- provide setup for interoperability testing
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 hackathon@ietf.org 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:
Your-Technology-Name
- Champion(s)
- tbd
- Project(s)
- tbd
To edit the wiki, log in using your IETF datatracker login credentials. If you don't yet have an IETF datatracker account, you may get one by going here https://datatracker.ietf.org/accounts/create/ and requesting a new account.
![(please configure the [header_logo] section in trac.ini)](https://www.ietf.org/images/ietflogotrans.gif)