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: Monday - Friday, 1-5 November 2021
Where: IETF 112 is an online only meeting and so is the Hackathon.
Sign up for the Hackathon here: Register.
View the list of registered Hackathon attendees: Here
IETF gather.town link:
Keep up to date by subscribing to https://www.ietf.org/mailman/listinfo/hackathon
The 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
- Monday, 1 November 2021
- Monday - Friday, 1-5 November 2021
- Friday, 5 November 2021
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
- 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
- Installing and becoming familiar with !VirtualBox, Vagrant, or something similar will help
- Specific coding languages are called out by some projects (e.g. Python, Java), 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 Charles Eckel: eckelcu@cisco.com
- 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 IETF 112 Hackathon
-
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 during the closing session at the end of the hackathon
- [https://github.com/IETF-Hackathon/ietf112-project-presentations] is for IETF hackathon participants 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, email Charles Eckel: eckelcu@cisco.com your GitHub ID at your earliest convenience
- DO NOT WAIT until just before hackathon project presentations start or your request may be lost in the chaos
Access to virtual IETF network
- The NOC team has an ongoing experiment that allows you to join the IETF network while attending the meeting remotely.
How to: http://wiki.ietf.org/meeting/111/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 August 2021. Request your account HERE. In the request form, you can use your project name where it asks for "Working Group 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 closing 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.
WHIP - WebRTC-HTTP ingestion protocol
- Champion(s)
- Sergio Garcia Murillo (sergio.garcia.murillo at costmosoftware.io)
- Project(s)
- Interoperability tests between WHIP clients and endpoints.
- Specifications:
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:
ANIMA Constrained Voucher/BRSKI
- Champion(s)
- Michael Richardson
- Project
- 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:
BMWG - YANG model and implementation of Network Interconnect Tester
One Tax API*
- Champion(s)
- Benson Muite <benson_muite at emailplus.org>
- Project
- Create a prototype API that can be used for efficient and secure online tax compliance, with a focus on enabling international e-commerce
- Specifications
- None yet, aim is to produce an initial specification based on hackathon results
openSCHC
Internet of Things Hacking
- Champion(s)
- Hannes Tschofenig (hannes.tschofenig at arm.com)
- Emmanuel Baccelli (Emmanuel.Baccelli at inria.fr)
- Description: The device management protocol LwM2M utilizes a range of IETF protocols, such as CoAP with various extensions, EST, TLS/DTLS, OSCORE, COSE, firmware updates, etc. A short introduction of what an IoT device management protocol is can be found in this video https://www.youtube.com/watch?v=ZJN9IiQjcUk (~13min into the IoT OPS working group meeting) or in this slide deck https://datatracker.ietf.org/meeting/110/materials/slides-110-iotops-iot-device-management-with-lwm2m-00). Slides from the last hackathon are available at https://github.com/IETF-Hackathon/ietf111-project-presentations/blob/main/hackathon-lwm2m.pdf where we prototyped security technologies for communication security and firmware updates.
- Project(s)
- You are asked to prototype one of the IETF protocols or to integrate already existing implementations. Based on the interest of the participants and the progress made, we will try to get the code working on low-end microcontrollers.
- Based on the experience at the previous hackathon, we had groups working on firmware updates with SUIT and TEEP, and communication security for CoAP with OSCORE.
- We will start the hackathon with online tutorials. More information can be found at https://github.com/future-proof-iot/SUIT-hackathons/wiki/IETF-112-Hackathon---IoT-Hacking
Machine-readable documents and their tools
- Champion(s)
- Stephen !McQuistin (sm at smcquistin.uk)
- Marc Petit-Huguenin (marc at petit-huguenin.org)
- Description: This is an umbrella for projects that seek to use tooling to automate aspects of the draft authorship and standards publication processes and of the subsequent processing of these standards. This includes formal and semi-structured description techniques (like ABNF, YANG, the TLS presentation language, the Augmented Packet Header Diagram format [2], and the QUIC packet notation), the tools that are used to produce these descriptions (like Computerate Specifying), and tooling that derives meaning from the content of drafts, including using natural language processing techniques (like SAGE [1]).
- Project(s)
- Agenda: https://trac.ietf.org/trac/ietf/meeting/wiki/112hackathon/teamschedule. Short presentations of various aspects of computerate specifications and draft-mcquistin-augmented-ascii-diagrams will be scheduled during that time.
- Related papers
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.
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 driving using IPWAVE protocols.
- Transmission of IPv6 Packets over IEEE 802.11-OCB (IPv6 over 802.11-OCB)
- 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 raw socket-based ICMPv6.
- ND messages exchange with CC and EC options.
- Specifications:
- Where to get code:
- Video clip demo:
Customized Ansible APIs generated from YANG modules
- Champion(s)
* Frank <frank.fengchong at huawei.com>
* Qiufang Ma
* Qin Wu <bill.wu at huawei.com>
* Benoît Claise <benoit.claise at huawei.com>
* Renxiang <strum.ren at huawei.com>
- Project(s)
* Ansible-gen is an automatic Ansible API generation tool, compiled in Python, based on YANG modules.
You can customize ansible APIs based on your requirements and use the Ansible-gen tool to automatically generate them.
BGP-ASPA Interop Testing
- Champion(s):
- Oliver <oliver.borchert at nist.gov>
- Lilia <lilia.hannachi at nist.gov>
- Sriram
- Doug
* Project:
- Develop tools and data sets to facilitate testing emerging BGP route-leak mitigation techniques
- ASPA - Autonomous System Provider Authorization
- Tools - We use the NIST BGP-SRx Software Suite V6 that provides a reference implementation for:
- Software:
- Plan - Develop tools and data sets for testing router implementations of ASPA:
- Unit tests and internet scale tests
- Task1:
- Create sample Internet scale ASPA data set for use with 8210bis-03 using CAIDA reference data
- Test harness ASCII format: ASPA +
- Task2:
- Create sample BGP UPDATES using !RouteViews data
- Possible Follow-On Projects:
- Series of interoperability tests between ASPA router implementations
- Expand scope to address validator / repository testing of ASPA data
- Convert ASPA test data sets into format as specified in draft-ietf-sidrops-aspa-profile-06
BMWG – Containerized Infrastructure Benchmarking
- Champion(s)
* Younghan Kim
- Minh-Ngoc Tran(mipearlska1307 at dcn.ssu.ac.kr)
- KJ Sun(gomjae at dcn.ssu.ac.kr)
- Project(s)
- Benchmarking packet loss rate in Multi-Pods scenario with different acceleration technologies
- Multi-Pods scenario performance Impact depending on different resources allocation (NUMA, memory, ...)
- Specification(s)
MASQUE
- Champion(s)
- David Schinazi
- Project(s)
WEBTRANSPORT
- Champion(s)
- David Schinazi, Victor Vasiliev, Bernard Aboba
- Project
- Interop testing of client and server implementations.
- Specifications
- Code
DNS TXID filtering
- Champion(s)
- Beau Kujath
- Benjamin Mixon-Baca
- William J. Tolley
- Project(s)
- Kernel module or netfilter hook to perform DNS TXID filtering
- Code
QUIC Explicit Performance Measurements on Smartphones
DNS
* Champion(s)
* Willem Toorop
* Tom Carpay
* Project(s)
* https://datatracker.ietf.org/doc/draft-ietf-dnsop-dns-error-reporting/
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.