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.
Sign up for the Hackathon
View the list of registered:
IETF 115 Gather link (password: notewell)
Keep up to date by subscribing to the IETF Hackathon email list.
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.
Hackathon (all times are UTC)
- 09:30 : Room open for setup by project champions
- 10:00 : Room open for all - pastries and coffee provided
- 10:30 : Hackathon kickoff, Meetecho
- 10:45 : Form Teams, see Team Schedule
- 12:30 : Lunch provided
- 15:30 : Afternoon break - snacks provided
- 18:30 : Dinner provided
- 21:00 : Room closes
-
09:30 : Room opens - pastries and coffee provided
-
12:30 : Lunch provided
-
13:30 : Hacking stops, prepare brief presentation of project
-
14:00 : Project results presentations, Meetecho
-
16:00 : Hackathon ends
-
17:00 : Tear down complete
Related activities before and after the Hackathon weekend
- Share your Hackathon project with the IETF community
- Monday, 7 November, Time: 1800 - 1900, Room: Admiral 1
- View the schedule or reserve space for your team/project
- Reservations for space must be made by 12:00, Monday 7 November
- Space for groups to gather and collaborate on running code
- Monday - Friday, 7-11 November, Room: Admiral 1
- View the schedule or reserve space for your team/project
NOTE: You will need an IETF Datatracker account to login to the Hackathon Meetecho sessions.
When you register for the IETF Hackathon, you are sent a separate email to create an IETF Datatracker account if you don't already have one.
If you already have an IETF Datatracker account, please ensure that the email address with which you registered is associated with your Datatracker 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
¶ Participant Preparation and Prerequisites
- Project Teams and Champions
- Champions are the leads for individual projects in the Hackathon
- Champions are individuals familiar with a given technology who volunteer to help get others get up and running with that technology
- Before the Hackathon, champions should:
- Add information about your project to the list of Projects included in Hackathon
- Recruit participants from associated working groups, open source projects, etc. Announcing your projects via an email to (hackathon@ietf.org) can be helpful as well.
- Specify when and how the project team will meet on the Team Schedule
- At the Hackathon, champions should:
- Make themselves available to answer questions and help others
- Hack on things themselves in their copious free time
- Additional projects are welcome at any time. For any questions, contact the chairs at (hackathon-chairs@ietf.org)
- Choosing a Project
- Champions post and lead projects
- Details on each project and links to additional information for each project are in the list of Projects included in Hackathon
- How and when teams meet during the week is up to them and can be found in the Team Schedule.
- 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
- The IETF-Hackathon GitHub org is used for Hackathon presentations and contains repositories for some Hackathon projects.
- 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@ietf.org)
- 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.
- Champions for each project 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 at the end of the Hackathon.
- IETF Hackathon teams should upload their Hackathon project presentations to GitHub
- 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
Access to the IETF network
The NOC team has an ongoing experiment that allows you to join the IETF network remotely as well as at an IETF meeting venue.
How to: Instructions
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 the duration of the IETF meeting. Request your account HERE. In the request form, you can use your project name where it asks for "Working Group Name" ("Hackathon Project Name").
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 project results presentations can be joined via Meetecho. The Hackathon Zulip stream may be used for general and project specific communication.
¶ IPR and Code Contribution Guideline
All Hackathon participants are free to work on any code. The rules regarding that code are what each open source project and each participant's organization 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.
- Note, all projects are open to everyone. However, some champions have identified their projects as being particularly good for those who are new to the IETF or new to the Hackathon. 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.
ANIMA ACP hacking
- Champion(s)
- Project info
- Work on RFC8994, RFC8995 with a focus on onboarding of new devices, but also upon construction of the ACP among some test equipment.
Streamlining Social Decision Making for Improved Internet Standards (sodestream)
- Champion(s)
- Project info
- Working on tasks related to the sodestream (sodestream.github.io) project, which applies natural language processing and social networking techniques to data produced by the IETF, in order to better understand standardisation processes.
SRv6 Data-Plane Visibility
- Champion(s)
- Draft(s)
- Project info
- Develop and validate running code. Extend IPFIX export in VPP at FD.io and on Huawei VRP. Establish SRv6 network topolgy with network telemetry data-collection and data mesh. Validate exported and transformed IPFIX data.
NTPv5
IPv6 Performance and Diagnostic Metrics Version 2 (PDMv2) Destination Option
- Champion(s)
- Project info
- PDM/ PDMv2 IPv6 extension header testing
- This project aims to test PDM/PDMv2 Destinations Options Extension header over the Internet. We would like to collect data for source and destination placed in various geographical locations. This testing can be extended to other extension headers as well.
- Specifications
- Related Videos:
- Remote Participation
EDHOC
- Champion(s)
- Marco Tiloca <marco.tiloca at ri.se>
- Rikard Höglund <rikard.hoglund at ri.se>
- Mališa Vučinić <malisa.vucinic at inria.fr>
- Project info
- Establish keying material for OSCORE using the EDHOC protocol
- Specifications:
ALTO: Build ALTO Maps Using Public Routing Information
- Champion(s)
- Project info
- Obtain routing information from different sources that are readily deployed and accessible in the Internet today and feed into ALTO
- Provide different routing metrics based on the collected information
- Sources include but are not limited to public Looking Glass servers, Internet Routing registry (IRR), measurement tools (trace route, sflow/netflow, etc.)
- Specification
ALTO: Optimizing XR Flows in the Edge Cloud Using ALTO and Bottleneck Structure Graphs
-
Champion(s)
-
Project info
- Goal is to demonstrate how ALTO can provide the necessary network state
visibility to allow an XR application make proper flow routing decisions, adjusting
to changing congestion dynamics, and leveraging bottleneck structure analysis (https://dl.acm.org/doi/abs/10.1145/3452296.3472898)
- Demo will be integrated and run in emulation mode, incorporating components including Mininet,
ALTO, GradientGraph (G2), Segment Routing, XR, and a 5G network topology.
- Initial integration tests in the National Research Platform (NRP) production network (http://nationalresearchplatform.org/)
- Project management and repos:
-
Specifications:
L4S Interop Event
- Champion(s)
- Project info
- Similar to the event held at IETF-114, we plan to hold a 4 day event (Saturday - Tuesday) to facilitate testing interoperability between L4S-compatible congestion controllers and network gear.
- If you are planning to bring equipment that has specific power/space requirements (i.e. anything more than small network equipment / laptops) or if you plan to ship equipment to the venue, please contact the champion(s) no later than October 14 with the details of your requirements and to arrange shipping.
- Specifications
PQ keys and signatures in X.509 / PKIX
Github: https://github.com/IETF-Hackathon/pqc-certificates
- Testing of PQ key and signature formats. We suggest usage of Dilithium, Falcon, Sphincs+, and Composite keys and signature algorithms in Certs, CRLs, CSRs, PKCS#12s, CMS SignedData, and potentially others like OCSP, Timestamping, CMP, etc.
- Testing of crypto agility: we know the final PQ OIDs will be changing, and there have already been multiple suggestions for public and private key encodings (ex.: the differences between Dilithium and Falcon encodings in draft-uni-qsckeys, and draft-massimo-lamps-pq-sig-certificates). We want to make our implementations as crypto agile as possible so it is trivial to update encodings and plug in new OIDS as soon as the standards are finalized.
- Specifications
Drone Remote ID Protocol (DRIP)
- Champion(s)
- Project info
- Update LIU code to meet the latest specifications
- ID Type 4, subtype 1 DRIP encoding/decoding and disply
- AuthType 5, subtypes 1-4 for DRIP auth formats
- FEC support for DRIP auth
- Any ASTM F3411-22a items missing
- Create open source tools for Endorsements
- Stretch goals
- open source registration tools
- Wi-Fi decoding
- Specifications
- Code
t_cose implementation of COSE signing, encryption, MAC, ...
- Champion
- Project info
- Continue improving t_cose by adding support for multiple signatures, encryption, additional algorithms...
- Code
https://github.com/laurencelundblade/t_cose
Note the "dev" branch and open issues and PR's targeted at t_cose 2.0
Trusted Execution Environment Provisioning (TEEP)
- Champion(s)
- Project info
- Code
openSCHC development and documentation
- Champion(s)
- Ivan Martinez
- Laurent Toutain
- Dominique Barthel
- Project
OpenSCHC (http://openschc.net) is an open source implementation of SCHC [RFC8724][RFC8824], written in Python.
During this hackathon we propose to work on several topics:
BMWG - YANG model for management of Network Tester
- Champion(s)
- Vladimir Vassilev (vladimir@lightside-instruments.com)
- Project(s)
- Model implementation with software and programmable logic for 1Gb Ethernet
- RFC2544 benchmark test in python
- RFC2889 benchmark test in python
- Specifications:
- Repositories
YANG Modules Tool Automation (NETMOD)
- Champion (s):
- Project Info:
Continue to improve YANG Model tool automation and develop two tools 1. compare two revision of a
YANG Schema 2. Validate the Schema of a YANG module w/o consideration of its dependency to
other YANG modules
- YANG Schema Comparison
- YANG Schema Validation and Compilation
- Specifications
- Code:
IPsec/IKEv2
- Champion(s)
- Project info
- pCPU IPsec support in Linux (see https://datatracker.ietf.org/doc/html/draft-pwouters-multi-sa-performance)
- pCPU IKEv2 support in libreswan / strongswan
- IPTFS IPsec support in Linux (see https://datatracker.ietf.org/doc/html/draft-ietf-ipsecme-iptfs)
- IPTFS IKEv2 support in libreswan / strongswan
- Statefull IPsec datapath hardware offload
- PQ IKEv2 interop testing
Satellite Routing
CoAP Group Communication with Group OSCORE
- Champion(s)
- Rikard Höglund <rikard.hoglund at ri.se>
- Marco Tiloca <marco.tiloca at ri.se>
- Project info
- Verify and interop functionality of latest draft version
- Verify group key derivation from group context
- Verify pairwise key pair derivation
- Send and Reply to group messages with group context
- Send and Reply to messages with pairwise key material
- Specifications
IPWAVE: Context-Aware Navigation Protocol for Drones using 5G V2X
- Champion(s)
- Jaehoon (Paul) Jeong (pauljeong at skku.edu)
- Yiwen (Chris) Shen (chrisshen at ks.ac.kr)
- Project info
- Evaluate the IPv6 process in 5G V2X-based context-aware navigation protocol for drones
- Search for technology gaps between current practise and the standard process
- Specifications
I2NSF: SDN-Based IPsec Flow Protection for Remote NSFs using I2NSF
- Champion(s)
- Jaehoon (Paul) Jeong (pauljeong at skku.edu)
- Patrick Lingga (patricklink888 at gmail.com)
- Project info
- Evaluate I2NSF framework for IPsec flow protection in BGP Peers.
- Specifications
vCon
-
Champion(s)
-
Project info
vCon defines a starndarized way to contain information related to a conversation. We have started with an open source implementation for a JSON binding:
https://github.com/vcon-dev/vcon
Join us to design and build transcription and redaction plugins.
-
Specification
Internet of Things with RIOT
-
Champions:
-
Projects info:
- SCHC Plugtest: OpenSCHC / RIOT + libSCHC (see also openSCHC development and documentation above)
- Implement crypto PSA API for RIOT
- integration of multiple libraries
- integration of hardware acceleration and secure elements
- integration of PSA Arch Tests as a package
- Integration of libOSCORE
- IPv6 support over IEEE 802.15.4e DSME.
- integration of openDSME into RIOT
- integration of SCHC over IEEE 802.15.4 / 6TiSCH
- CORECONF integration for RIOT
-
Code:
-
Specifications:
Attestation and TLS
-
Champion(s)
- Hannes Tschofenig (Hannes.Tschofenig at arm.com)
- Ionut Mihalcea (Ionut.Mihalcea at arm.com)
- Yogesh.Deshpande (Yogesh.Deshpande at arm.com)
- Thomas Fossati (Thomas.Fossati at arm.com)
-
Project info
- TLS extensions to support attestation as first-class authentication credentials
-
Specifications:
-
Code
SCITT Supply Chain Integrity, Transparency and Trust
Roughtime*
-
Champion(s)
-
Project info
- Roughtime is a protocol that aims to achieve rough time synchronization while detecting servers that provide inaccurate time and providing cryptographic proof of their malfeasance.
- We'll try to get our Roughtime implementations to interoperate.
- Along the way, we're hoping to find any bugs and omissions in the draft.
-
Specifications:
-
Code:
BMWG – Containerized Infrastructure Benchmarking
- Champion(s)
- Project info
- Benchmarking performance of eBPF/XDP acceleration technique
- Specifications
Explicit Flow Measurements
- Champion(s):
- Project info:
- Per-flow measurement techniques focused on their application on users’ devices.
- New technique implementation on QUIC protocol.
- Tests and measurements carried out on an android mobile environment.
- SpinBit technique implementation within an open-source browser and testing over Internet.
- Draft(s):
nesQUIC: Network Extended Statistics with QUIC
- Champion(s)
- Project info:
- Leverage the QUIC protocol to perform speedtest-like network tests.
- Extract metrics such as packet loss rate, packet loss bursts, RTTs, throughput.
- Investigate how such as tool can be built atop HTTP/3 to leverage browsers.
- Integrate the tool with MLab.
- Draft:
- Source Code:
Using DANCE in IoT with LoRaWan
- Champion(s)
- Gaël Berthaud-Müller (gael.berthaud-muller at afnic.fr)
- Sandoche Balakrichenan (sandoche.balakrichenan at afnic.fr)
- Project info
- The goal is to perform mutual authentication between Device and Join Server using ECC and DANCE/DANE.
- Drafts
Computerate Specifying: The Five Levels of I-D Writing
- Champion
- Project info
- The goal is to finish and publish version -18 of the draft and its associated tooling, which is a complete rewrite.
- Drafts
Plugfest: BGP CT interop
-
Champion
-
Project info
- Anyone with a BGP-CT implementation, come and let’s test our interoperability.
-
Drafts
QUIC Handshake Classification API
-
Champions:
-
Project info:
- Implement Internet-facing API which classifies the QUIC handshake behavior for a domain
- Main goal is to present details about the anti-amplification limits and TLS performance
- Extend it by rate-limiting, CDN identification, etc.
- Related background: On the Interplay between TLS Certificates and QUIC Performance
-
Code:
-
Specifications:
RTP over QUIC
-
Champion(s)
-
Project info
- Implementing RTP over QUIC
- One (known) existing implementation in Golang: https://github.com/mengelbart/rtp-over-quic
- Plan is to implement in Rust at the hackathon
- Potentially other implementations too
- Validate interoperability
-
Specifications:
WebRTC Encoded Media
- Champion(s)
- Project info
- Early experimentation in new APIs for processing encoded media
- Focus is on "getting a feel" on suggested new APIs
- Code:
DNS Error Reporting
- Champion(s)
- Willem Toorop
- Roy Arends
- Benno Overeinder
- Stephane Bortzmeyer
- ...
- Project info
- Implementation and interoperability testing of DNS error reporting
- Specifications
- Code
MASQUE Tunneling
-
Champion(s)
-
Project info
- Implementation and Interop of MASQUE Tunneling of UDP and IP
-
Specifications
TLS
-
Champion(s)
-
Project info
BGPsec maintenance
- Champion(s)
- Project info
- Tooling for BGPsec validation (MRT transcoder)
- Alternative signature and digest schemes (EdDSA, Blake*)
One Tax API
- Champion(s)
- Benson Muite (benson_muite at emailplus dot org)
- Project info
Don’t see anything that interests you? Feel free to add a project 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 project, we suggest you send an email to (hackathon@ietf.org) to let others know. You may generate interest in your project 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-Project-Name
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.