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: Saturday - Sunday, 19 - 20 March 2022
Where: IETF 113, Hilton Vienna Park, Grand Klimt Hall 1/2
Sign up for the Hackathon Onsite: [HERE]
Sign up for the Hackathon Remote: [HERE]
View the list of registered Onsite Hackathon participants: HERE
View the list of registered Remote Hackathon participants: HERE
IETF 113 Gather link (password: notewell): [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.
Hackathon (all times are CET)
- Saturday, 19 March
- 09:30: Room open for setup by project champions
- 10:00: Room open for all - pastries and coffee provided
- 10:30: Hackathon kickoff, Recording
- 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
- Sunday, 20 March
- 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, Recording
- 16:00: Hackathon ends
- 17:00: Tear down complete
Related activities before and after the Hackathon weekend
- Hackdemo Happy Hour
- Share your Hackathon project with the IETF community
- Monday, 21 March, 17:00 - 18:30, Grand Klimt Hall 1
- View the schedule or reserve space for your team/project
- Reservations for space must be made by 12:00, Monday 21 March
- Code Lounge
- Space for groups to gather and collaborate on running code
- Monday - Friday, 21 - 25 March, Grand Klimt Hall 1/2
- View the [schedule]/meeting/113/hackathon/codelounge) or reserve space for your team/project
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
¶ 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@…) 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
- 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
- Project Presentations
- All teams have the opportunity to present what they did at the end of the Hackathon.
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 https://wiki.ietf.org/meeting/113/hackathon/hacknet_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 use until the end of March 2022. 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 will be available via Meetecho. The Hackathon Jabber room 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 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.
- 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.
Firmware Encryption with HPKE
- Champion(s)
- Hannes Tschofenig <hannes.tschofenig at arm.com>
- Project
- Use COSE-HPKE as part of the SUIT manifest to perform encryption of firmware images
- The code will use HPKE (from Mbed TLS), COSE (t_cose from Laurence), Brendan's SUIT manifest library and the PSA Crypto API
- Specifications:
GNAP: Grant Negotiation and Authorization Protocol
- Champion(s)
- Justin Richer, Aaron Parecki, Fabien Imbault
- Project(s)
- Build and connect implementations of GNAP across different platforms. We plan to have implementations of the AS, Client, and RS available for people to extend and use, and to deploy against with other components.
- Interop profile for the hackathon consists of the "redirect" interaction start method, the "redirect" interaction finish method, and key proofing provided by the combination of HTTP Signatures with RSA-PSS-SHA512 and a Content-Digest with SHA-512 hash (for requests with bodies).
- Other modes (user-code, push) and signature methods (JWS) will be partially supported by some libraries and are encouraged.
- Resources:
- Specifications:
ANIMA ACP/BRSKI
- Michael Richardson mcr at sandelman dot ca
- I will be bringing a number of small systems with ACP/RFC8994 code installed, and would like to work with others online and in person to do ACP stuff.
- Project(s)
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
- Note on networking:
- Specifications:
DNS: Encrypted Dynamic DNS
- Champion(s)
- Project
- Prototype and interwork encrypted Dynamic DNS, with DoQ and/or DoT along the lines of XoT (RFC 9103)
- Specifications
DNS: catalog zone interop
- Champion(s)
- Petr Spacek
- Willem Toorop
- Project
- Interoperability testing of catalog zone between different DNS name server implementations.
- Specifications
- Interoperability matrix:
DNS: DNSSEC Dry-Run
- Champion(s)
- Willem Toorop
- Tom Carpay
- Project
- RIPE ATLAS measurements on Dry-run DNSSEC
- 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:
RARE/freeRtr
- Champion(s)
- Simon Leinen <simon.leinen at switch.ch>
- Csaba Mate
- Carmen Misa Moreira
- Alexander Gall
- Rafael Silva Guimarães
- Everson Borges
- Project(s)
- Create automation tools based on freeRtr NETCONF API
- Investigate alignment with standard YANG modules (IETF/OpenConfig)
- Streaming telemetry from hardware (Tofino) counters and integrate freeRtr telemetry to external visualization tools with a robust telemetry collection agent queuing write information into K,V database
- Nix packaging for Intel’s open-source IPDK (on top of the Tofino SDE)
- Switchdev support (For Spectrumv2/v3 ASIC)
- Elaborate and propose IPFIX/Netflow/sFlow/PSAMP design
- Add new Tofino counters
- Leverage NETCONF to provide FW-UI(?)
- Add Polka/TE GUI via Next-UI automating NETCONF commands
- AMT interworking
- BIER interworking
- MCAST-MENU update from freeRtr
- Set up a scrubbing solution as reference design for DDOS with WEDGE100BF32X
- (M)PolKA testing
Application Layer Traffic Optimization
- Champion(s) (in alphabetical order by first name)
- Jensen Zhang <jingxuan.n.zhang at gmail.com>
- John Graham <jjgraham @ eng.ucsd.edu>
- Jaime Nachbar <jamie.nachbar at yale.edu>
- Jordi Ros-Giralt
- Harvey Newman
- Kai Gao
- Qin Wu <bill.wu at huawei.com>
- Richard Yang
- Sruthi Yellamraju
- Project(s)
- Integrate the ALTO stack with Mininet
- Integrate the ALTO stack with Rucio (https://rucio.cern.ch/)
- Use case to show how Rucio can leverage the ALTO service to optimize application performance in a Mininet environment
- Project management and repos:
- Specifications:
BMWG - YANG model and implementation of Network Interconnect Tester
OneTaxAPI
- Champion(s)
- Benson Muite (benson_muite at emailplus dot org)
- Project(s)
- Draft(s)
BMWG – Containerized Infrastructure Benchmarking
* Champion(s)
* Younghan Kim
* Minh-Ngoc Tran
* Hokeun Lim
- Project(s)
- Benchmarking performance of SR-IOV and VPP combination
- SR-IOV for North-South Traffic
- VPP for East-West Traffic
- Benchmarking number of C-VNFs impact in service function chain scenario
- Specification(s)
OpenSCHC data model
- Champion(s)
- Laurent Toutain laurent.toutain@imt-atlantique.fr
- Ivan Martinez ivan-marino.martinez-bolivar@imt-atlantique.fr
- Project(s)
- SCHC as defined a YANG data model for SCHC compression and fragmentation Rule. A JSON representation has been implemented in OpenSCHC during the last hackathon. The goal of this hackathon is to use the CORECONF representation and evaluate it size regarding different rules.
Interface to Network Security Functions (I2NSF) Framework
* Champion(s)
* Jaehoon Paul Jeong
* 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 Automatic Data Model Mapper between high-level data model and low-level data model
for the Security Policy Translation.
* I2NSF NSF Monitoring YANG Data Model Draft that supports the monitoring data collection from an
NSF to an I2NSF Analyzer via NETCONF.
* Blockchain-based Auditing for I2NSF Policy and Data Transactions.
* 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-26
* https://tools.ietf.org/html/draft-yang-i2nsf-security-policy-translation-10
* https://tools.ietf.org/html/draft-ietf-i2nsf-consumer-facing-interface-dm-16
* https://tools.ietf.org/html/draft-ietf-i2nsf-nsf-facing-interface-dm-21
* https://tools.ietf.org/html/draft-ietf-i2nsf-registration-interface-dm-14
* https://tools.ietf.org/html/draft-ietf-i2nsf-nsf-monitoring-data-model-15
* https://www.openstack.org/
* https://www.tail-f.com/confd-basic/
* Where to get code:
* https://github.com/jaehoonpaul/i2nsf-framework
IP Wireless Access in Vehicular Environments (IPWAVE) Basic Protocols
- Champion(s)
- Jaehoon Paul Jeong
- Project(s)
- IP-Based Context-Aware Navigation Protocol (CNP)
- This project develops a vehicular communication system for safe and secure drone flights using IPWAVE protocols.
- Transmission of IPv6 Packets over C-V2X
- New Vehicular Mobility Information (VMI) option for IPv6-based vehicular network with ICMPv6.
- The new IPv6 ND options development and verification for vehicular networks using ICMPv6.
- ND messages exchange with CC and EC options in a Flying Ad Hoc Network (FANET).
- Specifications:
- Where to get code:
- Video clip demo:
DANCE (DANE Authentication for Network Clients Everywhere)
- Champion(s)
-
Gaël Bethaud Müller gael.berthaud-muller@afnic.fr
-
Sandoche BALAKRICHENAN sandoche.balakrichenan@afnic.fr
-
Ibrahim Ayoub ayoub@afnic.fr
-
Everyone welcome
-
Project(s)
- One scope of the DANCE WG is - to specify the DANE-enabled TLS client authentication use cases.
We are focusing on a LoRaWAN IoT use case. The LoRaWAN use case requires mutual authentication between different servers (operated by different stakeholders and may not be a priori known to each other) in the Internet during the IoT device onboarding process. The web based PKIX architecture is not possible as it is in the LoRAWAN use-case for two reasons - 1. Non availability of the CA certificate library as we see in the browser clients and 2. the cost. Using self-signed certificates to mitigate the cost issue doesn't scale to a global scope.
The problem that we want to solve during the hackathon is to test the DANE client ID extension (draft-huque-tls-dane-clientid-06) to do TLS Client Authentication via DANE TLSA records (draft-huque-dane-client-cert-08).
Pointers to the repositories that contains some existing source code are:
https://gitlab.rd.nic.fr/dance/tls - the TLS library (fork of Golang TLS lib);
https://gitlab.rd.nic.fr/dance/dane - fork of Shumon Huque's Golang DANE library;
https://gitlab.rd.nic.fr/dance/dance - Main repo that contains example code of a basic server and client implementation.
MASQUE
- Champion(s)
- David Schinazi
- Project(s)
IPv6 Performance and Diagnostic Metrics Version 2 (PDMv2) Destination Option
- Champion(s)
- Ameya Deshpande ameyanrd@outlook.com
- Nalini Elkins nalini.elkins@insidethestack.com
- Abhishek Kumar abhishekkumar8222@gmail.com
- Project(s)
- PDMv2 Data Transfer phase
- This implementation shows the working of PDMv2 in Linux. The IPv6 extension header part is written in the Linux Kernel and the encryption is achieved by calling the userspace HPKE implementation. This implementation is a proof-of-concept implementation to demonstrate the working of the proposed protocol.
- PDMv2 Sample Registration Protocol
- This is a sample registration protocol implementation where we generate a shared context among all the entities to perform data transfer. PDMv2 Registration is performed before the PDMv2 Data Transfer phase independently. Once the shared context is generated, the proposed mechanism in PDMv2 takes care of key rotation and updates.
- Specifications:
- Where to get code:
- Related Video clips:
Telemetry- Adaptive Subscription
- Champion(s)
-
Xie Kun cskxie at gmail.com
-
Qiufang Ma maqiufang1 at huawei.com
-
Peng Liu liupengyjy at chinamobile.com
-
Wei Wang wangw36 at chinatelecom.cn
-
Qin Wu bill.wu at huawei.com
-
Zixiong Niu zhixiong.niu at microsoft.com
-
Wei Song songwei80 at huawei.com
-
Jian Cheng chengjian517 at huawei.com
-
Project(s)
- The key use case is wireless network performance monitoring
- Monitor KPI change at different frequency of data collection (high frequency, low frequency, adaptive frequency)
- Evaluate the Performance of adaptive subscription (e.g.,telemetry data volume, data fidelity )
-
Specification(s)
EAP-NOOB and EAP-UTE
- Champion(s)
- Janfred Rieckers < rieckers at dfn dot de >
- Project(s)
- Specification(s)
sodestream (https://sodestream.github.io)
- Champion(s)
- Stephen !McQuistin < sm at smcquistin.uk >
- Project
- RFC errata data mining and analysis
- Code
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-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.