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, 22-23 July 2023
- Where: Hilton Union Square, San Francisco, CA, USA
- Room: Plaza A-B, Lobby Level
Sponsored by
Gold Running Code Sponsor |
Silver Running Code Sponsor |
Bronze Running Code Sponsor |
|
|
|
Sign up for the Hackathon
View the list of registered:
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 Pacific Daylight Time, UTC-7)
- 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
- 20:30 : 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, Recording
- 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, 24 July, Time: 18:30 - 19:30, Room: Golden Gate 2-3, Lobby Level
- View the schedule or reserve space for your team/project
- Reservations for space must be made by 13:00, Monday 24 July
- Space for groups to gather and collaborate on running code
- Tuesday - Friday, 25-28 July, Room: Golden Gate 2, Lobby Level
- 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
- Code can be accessed from IETF Hackathon GitHub, or from links provided within project descriptions below.
- Results of Hackathon projects should be uploaded to GitHub. See the README for details.
¶ 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)
- 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
- Participants looking for a team and champions wanting help on their projects are encouraged to visit the Lost & Found.
- 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
- 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)
- 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.
Requests for networking capabilities beyond wireless access to the IETF network (e.g., wired ports, L2 access, prefix delegation) can be sent to support@ietf.org.
All requests are addressed on a best effort basis. Advance notice is appreciated and improves the odds of your request being fulfilled.
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.
-
Champion(s)
- Hannes Tschofenig
- Jon Geater
- Dick Brooks
- Orie Steele
- Michael Prorock
- Henk Birkholz
-
Project Info
- At this hackathon we will apply SCITT to a use case from the U.S.
Food and Drug Administration (FDA).
- The use case is based on an actual need to acquire software artifacts
from medical device manufacturers under the US FDA PATCH Act, ref: Section
524B of the FDA rules, that went into effect in March 2023, with enforcement
beginning October 1, 2023.
- The use case is proposing to register a signed statement (Vendor Response
File) into a SCITT Registry that identifies the location of required
cybersecurity artifacts, i.e. SBOM, Vulnerability Disclosure Reports and
other info, which FDA can use to download the required data.
-
Specifications:
-
Code
- Champion(s)
- Draft(s)
- Project info
- Extend IPFIX SRv6 data-plane dissection in Wireshark.
- Champion(s)
- Draft(s)
- Project info
- Extend BMP implementation in Frrouting with Path Marking.
- Champion(s)
- Draft(s)
- Project info
- Marry YANG Push wit Apache Kafka message broker.
- Project site
- Champion(s)
- Project Info
- (Deep) Space comm has loooong delays (minutes to hours) and disruptions. Purpose of the project
is to modify open-source QUIC stacks to be usable for this use case. QUIC stacks typically
have low initial values to prime the initial communications, which does not fit with long delays
and make various assumptions not optinal for space comm. Goal of this project is to:
a) externalize these static values so they could be changed at start or while running,
b) set a testbed to test with long delays and verify use
c) modify stacks to support the space use case (specially for disruptions), d) if relevant,
write internet-draft for findings and possible modifications/extensions to QUIC.
An initial POC was done with Christian Huitema (see below) with his picoquic stack.
We would like to go further with more QUIC stacks such as Mozilla Neqo (in Rust) or
Google Quiche(in C++) or Cloudflare Quiche (in Rust) or picoquic(in C) or QUINN (in Rust).
- Additional Info
¶ Attestation and TLS
- Champion(s)
- Thomas Fossati (thomas.fossati at arm.com)
- Paul Howard (paul.howard at arm.com)
- Yogesh Deshpande (yogesh.deshpande at arm.com)
- Ionut Mihalcea (ionut.mihalcea at arm.com)
- Project Info
- TLS extensions to support attestation as first-class authentication credentials
- End-to-end demonstrator with attester, verifier and relying party
- Specifications:
- Code
- Champion(s)
- Marco Tiloca (marco.tiloca at ri.se)
- Rikard Höglund (rikard.hoglund at ri.se)
- Project Info
- Establish keying material for OSCORE using the EDHOC protocol
- Specifications:
- Champion(s)
- Rikard Höglund (rikard.hoglund at ri.se)
- Marco Tiloca (marco.tiloca at ri.se)
- Project Info
- Message exchange of group messages protected with Group OSCORE
- Specifications
- Champion(s)
- Marco Tiloca (marco.tiloca at ri.se)
- Project Info
- User and admin interface of the OSCORE Group Manager based on the ACE framework
- Specifications:
¶ PQ in X.509, Signatures, KEMs and protocols
For information on OIDs used to create interoperable structures, consult: https://github.com/IETF-Hackathon/pqc-certificates/blob/master/docs/oid_mapping.md
- Champion(s)
- Avi Wolicki (avi at benchlabs.xyz)
- Project Info
- The initiative of the Web Application Firewall Protocol (WAF-P) aims to create a standard between Web Application Firewalls in order to allow easy interface access, export and import and simplified managment. For example, a WAF profider may want to allow the a threat intelligence provider to be able to add new rules to the firewall on an occuring basis. If an organization may have more than one firewall, the vendor will be able to push a new rule to multiple instances using a single protocol. This protocol aims to be HTTP based as communication is across the web.
- Champion(s)
- Jaehoon (Paul) Jeong (pauljeong at skku.edu)
- Participant(s)
- Mugabarigira Bien Aime
- Junhee Kwon (lovekwon200 at gmail.com)
- Project Info
- 5G-Based IPv6 ND for multihop V2V & V2I communication.
- AI-Based IPv6 Stateless Address Autoconfiguration (SLAAC) in multihop V2V & V2I scenarios.
- IPv6 Mobility Management performanceenhancement with AI methods for IP-Based vehicle networks IPv6 Routing
- Specifications
- Champion(s)
- Project Info
- Are you writing code to implement an IETF work in progress? Maybe your code is open source, routing related and targets FRRouting?
- We can help with both community (e.g. PR & review interactions) as well as code & finding your way around existing facilities.
- Just walk up & bring your questions, no heads-up required.
- We're spending our idle time on hacking on the topotato testing system for FRR (https://github.com/opensourcerouting/topotato)
- Champion(s)
- Project Info
- Specifications
- Champion(s)
- Severin Dellsperger (severin.dellsperger at ost.ch)
- Julian Klaiber (julian.klaiber at ost.ch)
- Laurent Metzger (laurent.metzger at ost.ch)
- Draft(s)
- Project Info
- The goal of this hackathon project is to enhance the open-source VPP Path Tracing implementation and documentation. Currently, only the sink and mid-point processing have been implemented. During the IETF hackathon 117, we will implement the source behavior and improve the documentation and API for easier configuration and operation of Path Tracing VPP.
¶ SCHC Interoperability and ICMP compression
- Champion(s)
- Draft
- Project Info
- SCHC is a compression and fragmentation framework mainly defined for constrained networks. During the previous hackathons, an open source implementation in python called openSCHC has been developed. We expect to run some interoperability tests with libschc, another implementation writen in C and targeting embedded systems. We also want to test ICMP compression.
- Champion(s)
- Project Info
- Continue the great work done at the IETF-114 and IETF-115 Hackathons to test and hack implementations of L4S and AccurateECN. Endpoint implementations, network implementations, and related tools are welcome!
- Specifications
- Champion(s)
- Project Info
SAV Open Playground(SAVOP) provides an open platform to evaluate different SAV mechanisms.
- GitRepo: https://github.com/SAV-Open-Playground/
- Hackathon task: enabling flexible deployment of SAV rules based on the SIB and SAV mechanisms
- Simulation of SAV mechanisms based on SAVOP
- Evaluation of existing SAV mechanisms with SAVOP
- Case 1: Limited propagation of prefixes, e.g., NO_EXPORT
- Case 2: Hidden prefixes, e.g., DSR
- Case 3: Attacks by source address spoofing within a customer cone (CC)
- Case 4: Attacks by source address spoofing from a provider/peer AS
- Champion(s)
- Project(s)
- Model implementation with software and programmable logic for 1Gb Ethernet
- RFC2544 benchmark test in python
- RFC2889 benchmark test in python
- Specifications
- Repositories
- Champion(s)
- Project Info
- In future communication technologies such as 6G, there are technical requirements that demand ultra-low latency and high levels of security. So, the purpose of this project is to achieve low-latency and highly secure cryptographic techniques targeting future communication technologies.
- At the IETF117 Hackathon, we will take on the challenge of extending OpenSSL with the low-latency cryptographic technique “Areion”.
- Paper at https://tches.iacr.org/index.php/TCHES/article/view/10279/9727
- We are currently recruiting collaborators who will join us in this project.
- Specifications
¶ Handling Encrypted DNS Server Redirection
- Champion(s)
- Project Info
- Testing the feasibility for using Linearized Matrix in existing messaging server software by implementing it.
- Iterating on the Internet-Draft following learnings of implementation interoperability testing.
- Incorporating and testing the working group's feedback on the draft through further implementation.
- Time permitting, designing replacement Transport and MLS semantics for the draft.
- MIMI working group members are particularly welcome to emit feedback & help design the future of the I-D ahead of the IETF 117 sessions.
- Specifications
¶ Network Visibility and Capacity Region Testing
- Champion(s)
- Project Info
- Implement ALTO cost map and endpoint cost service based on PerfSonar data
- Implement a tool to compute capacity region bounds for large-scale data transfer applications
- Specifications
- Repositories
- Champion
- Project Info
- Develop scripts (python and others) to support DRIP
- Scripts for various DRIP objects like DETs, DETs Endorsements, and DRIP related DNS RR
- Scripts for X.509 certificates that may "shadow" DETs (and general X.509 usage)
- Any other needed DRIP work
- QR code optical data transission for X.509 CSR and Certs
- Specifications
- Repositories
- Champion(s)
- Project Info
- TEEP/SUIT/RATS integration
- Update TEEP Protocol implimentation applying feedbacks after IETF116
- Specifications
- Repositories
- TEEP Protocol wiki
- Hackathon branches on github
- Champion(s)
- Project Info
- Discuss (e)BPF specifications
- Available to advise any other projects using BPF
- Specifications
- Champion(s)
- Project Info
- Specification
¶ BGPsec Maintenance
- Champion(s)
- Ignas Bagdonas (ibagdona.public at gmail.com)
- Project Info
- Transform running code experiments into a draft on BGPsec-bis.
- Champion(s)
- Project Info
- Your project description here
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
- **Champion(s)**
- Your Name (email at domain.com)
- **Project Info**
- Your project description here
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 and requesting a new account.