The hackathon is now over, but you can check out this summary.
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: Saturday and Sunday, July 20 and 21, 2019
Where: Fairmont Queen Elizabeth Montreal, Room: Centre Ville
Sign up for the Hackathon here: REGISTER!
View the list of registered Hackathon attendees: Attendees
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
-
Saturday, July 20
- 08:30: Room open for setup by project champions
- 09:00: Room open for all - Pastries and coffee provided
- 09:30: Hackathon kickoff - Join via Meetecho slides
- 09:45: Form Teams
- 12:30: Lunch provided
- 15:30: Afternoon break - Snacks provided
- 19:00: Dinner provided
- 22:00: Room closes
-
Sunday, July 21
- 08:30: Room opens - Pastries and coffee provided
- 12:30: Lunch provided
- 13:30: Hacking stops, prepare brief presentation of project
- 14:00: Project presentations to other participants Join via Meetecho
- 15:45: Closing remarks and opportunities for next time
- 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 IETF community
- Monday, July 22, 18:10 - 19:40, Room: Parc Mont-Royal
- View the schedule or reserve space for your team/project
- Reservations for space must be made by 12:00, Monday, July 22
-
Code Lounge
- Space for groups to gather and collaborate on running code
- Monday - Friday, July 22-26, Room: Parc Mont-Royal
- View the schedule or reserve space for your team/project
¶ Participant Preparation and Prerequisites
- Choosing a Project
- Champions will have table signs on the center of their table identifying their project and be available to answer questions at the start and throughout the hackathon
- Optionally, champions may create and display posters on flip charts with additional information on their project
- 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
- 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
- Note to champions: if planning to make use of VMs, please bring on USB drives to make available to others as download times can be painful
- 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 [https://developer.cisco.com/join/ietf105 IETF 105 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 Sunday afternoon at the end of the hackathon
- [https://github.com/IETF-Hackathon/ietf105-project-presentations] is for IETF hackathon participants to upload their hackathon project presentations
- You must be a member of the [https://github.com/IETF-Hackathon 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
¶ Network and Power
- Network
- Wireless access to the IETF network will be provided, and from there to the outside world
- The IETF network will be dual stack with both IPv6 and IPv4
- Wired access to the IETF network is available by request only
- For wired access, static IP addresses, or any other special network requests, please add your name, email address, and details of your request in the Requests section below.
- Power
- There will be two power strips per table (roughly one outlet per person/seat). If you need additional power for your project/team, please add your name, email address, and details of your request in the Requests section below.
- Requests
- Michael Richardson, mcr@sandelman.ca, need 3 power outlets, DHCPv6 Prefix Delegation and routing of delegated prefixes. Homenet, MUD and ACP areas will each need that.
- Jake Holland, jholland@akamai.com, wired ethernet connection for TAPS.
- Al Morton acm@research.att.com, Wired ETH and small switch (for combined Measurements and MAPRG table)
- Bob Hinden bob.hinden@gmail.com, Wired ethernet and small switch for 6MAN, Path MTU Discovery project.
Participating in person is preferred, but we understand not everyone can travel. We typically have a number of remote participants and even some projects that are championed remotely. Successful remote participation requires a bit more preparation by remote participants and champions of projects with remote participants.
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.
The hackathon kickoff and the closing presentations are 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.
EAP-CREDS
- Champion(s)
- Massimiliano Pala (director at openca.org)
- Project(s)
Composite Crypto
- Champion(s)
- Massimiliano Pala (director at openca.org)
- Project(s)
QUIC
- Champion(s)
- Lars Eggert (lars at eggert.org)
- Project(s)
- Interop testing around the current set of "implementation drafts"
QUIC Measurements
- Champion(s)
- Jari Arkko (jari.arkko at piuha.net)
- Marcus Ihlar (marcus.ihlar at ericsson.com)
- Project(s)
- Interop testing Spindump to the most recent implementations
- Distributed measurements testing
- Graphics
- Add your project here!
ANIMA ACP
- Champion(s)
- Michael Richardson ,
- Project(s)
- build an ANIMA ACP with BRSKI security and IPsec tunnels
HOMENET/DNSSD build-out
- Champion(s)
- Ted Lemon (mellon at fugue.com) - onsite
- Project(s)
- Configuration projects:
- Install OpenWRT on homenet router with configuration so that routers identify edge(s) and participate in HNCP on initial startup.
- Set up primary name service for homenet (front-end naming and on-homenet primary)
- Set up DNSSD SRP proxy
- Set up DNSSD Discovery proxy
- Coding projects:
- Add capability to HNCP daemons to successfully configure:
- discovery proxy
- primary/secondary naming
- front-end naming
- whitelisting configuration settings for front-end naming
- UI for front-end naming whitelisting, etc.
- Auto-ACME for web UI servers using LetsEncrypt
MUD
- Champion(s)
- Eliot Lear , Michael Richardson ,
- Project(s)
- Multiple implementations of MUD including Cisco, CableLabs and NIST SDN MUD Implementations
- Development of MUD files using mudmaker.org
- Development of any additional mudmaker capabilities
- Enabling MUD support in various devkits (BYOIOT)
- Integration of MUD with Device Provisioning Protocol (DPP) onboarding
- Development of vendor reporting capabilities
- For additional details see https://www.nccoe.nist.gov/events/ietf-hackathon-iot-mud-implementations
Sliding Window FEC (swif) codec
- Champion(s)
- Vincent Roca (vincent.roca_at_inria.fr)
- Project(s)
TLS 1.3
http 451
SSH
DSCP LE
IOAM IPv6 options
TAPS (Transport Services) implementations
- Champion(s)
- Theresa Enghardt (theresa_at_inet.tu-berlin.de)
- Max Franke (mfranke_at_inet.tu-berlin.de)
- Project(s)
- https://github.com/fg-inet/python-asyncio-taps (Code)
- https://pytaps.readthedocs.io/en/latest/index.html (Documentation)
- TAPS implementation:
- Transport protocol-independent API
- Application specifies requirements and preferences
- TAPS implementation selects between available transport protocols
- See also:
- Hackathon ideas:
- Incorporate more transport protocols (SCTP? QUIC?)
- Implement racing
- Incorporate advanced framers (e.g. http)
- Add multicast receive capability to the TAPS implementation (Jake Holland, !jholland@akamai.com)
Measurement Tools, Systems, and Projects '* - but see below '
- Champion(s)
- Al Morton
- tbd
- Project(s)
- Refine UDP-based Capacity measurement for Production Network and Lab Benchmarking
- <any other measurement project is welcome, newcomers should have some background in measurement>
- REQUESTS
Trusted Execution Environment Provisioning (TEEP)
Segment Routing IPv6 Mobile User Plane
SRv6 VPN YANG
WebRTC 1.0 Improvements and testing
The goal is to get around the table for two days browser devs, SFU devs, and webrtc solutions devs in general to help mature WebRTC 1.0.
The feedback between browsers and solutions/SFU/SDK vendors is very important to make sure the bugs are prioritised correctly to benefit the ecosystem.
Specifically for simulcast (or SVC) questions about bandwidth management, bitrate adaptation, PLI generation, FEC, needs to be addressed jointly by both
SFU devs and Browsers devs.
The results of the week end should be new bug discovery, bugs closure, and new tests written to avoid regression. We should all leave with a better
implementation, be it browser, SFU, SDk, .... and a more interoperable ecosystem. Last edition, we managed to solve around 20 bugs.
Contact one of the champion if you have a specific problem / tech / bug you want to work on during the week end, and want to join the table to benefit from
interaction with other experts.
MAP: Measurement and Analysis for Protocols (MAPRG)
- Champion(s)
- Dave Plonka, [https://trac.ietf.org/trac/irtf/wiki/map Measurement and Analysis for Protocols (MAP) - Research Group]
- Mirja Kühlewind, [https://trac.ietf.org/trac/irtf/wiki/map Measurement and Analysis for Protocols (MAP) - Research Group]
- Project(s)
- Analysis tool development and measurement results for Internet Draft on Privacy & Security Issues in IPv6 Deployment, YouTube, slides
- Coding/testing kIP: a Measured Approach to IPv6 Address Anonymization short paper, YouTube, slides
- We are also open for work and live measurements using other tools and methodology - Please let us know if you want to participate!
IPv6 Switch ML
IP Wireless Access in Vehicular Environments (IPWAVE) Basic Protocols
- Champion(s)
-
Jaehoon Paul Jeong
-
Project(s)
- Transmission of IPv6 Packets over IEEE 802.11-OCB (IPv6 over 802.11-OCB)
- Simulations of IPWAVE with SUMO, INET, and VEINS
- IPv6 Neighbor Discovery for IP-Based Vehicular Networks
- Router and Prefix Discovery and IPv6 address autoconfiguration
- Duplicate Address Detection process
- Multihop DAD process via V2V communications
- Mobility Management for IP-Based Vehicular Networks
- Network Attachment of a Vehicle
- Handoff within One Prefix Domain
- Handoff between Multiple Prefix Domains
-
Specifications:
-
Where to get code:
-
Video clip demo:
Interface to Network Security Functions (I2NSF) Framework
WISHI (Work on IoT Semantic / Hypermedia Interoperability)
- Champion(s)
- Michael Koster, Ari Keränen, Carsten Bormann
- Project(s)
JMAP: The JSON Meta Application Protocol
DNSSD (Bonjour) clinic
- Champions:
- Project:
- If your Hackathon project provides a network service and would like to be able to advertise it:
- stop by the DNSSD table
- we’ll help you to figure out whether DNSSD is a good solution for your use case
- if it is, we'll help you to learn how to use it (it's really easy!)
- Similarly, if your project needs to be able to discover services, we can help you with that too
- We are of course happy to help you with non-hackathon projects as well!
- It's very easy to set up, so if you are interested in trying, it's quite reasonable to expect that you will have something running fairly quickly.
- We did this informally at the previous hackathon, but have decided to offer it explicitly at this one.
PPR: Preferred Path Routing Interop
PEARG: Privacy Enhancements and Assessments Research Group
- Champion(s)
- Shivan Kaul Sahib (ssahib at salesforce dot com)
- Project(s)
LPWAN CoAP/UDP/IPv6 SCHC compression and fragmentation
- Champion(s)
- Laurent Toutain (IMT Atlantique) laurent dot toutain at imt dash atlantique dot fr
- Cedric Adjih (INRIA) cedric dot adjih at inria dot fr
- Dominique Barthel (Orange Labs) dominique dot barthel at orange dot com
- Project(s)
- the general goal is to advance the python open source implementation of SCHC compression and fragmentation. See openschc.net
- for documentation about SCHC, see
- At this Hackathon, in order to save precious time, we will not focus on live LPWAN connectivity. Instead, we will exchange SCHC messages inside the simulation environment or over UDP, allowing easy remote participation including remote testing between participants.
- The actions points for this week-end:
- converge on rule representations, code
- improve the documentation. In general, make it easier for a newcomer to join the project and contribute.
- work on the interface to underlying network (UDP or interface to real hardware)
- first implementation of ping behaviour.
** [=#L4S L4S - Low Latency Low Loss Scalable throughput] **
- Champion(s)
- Bob Briscoe (Independent) ietf at bobbriscoe dot net
- Koen De Schepper (Nokia Bell Labs) koen.de_schepper at nokia-bell-labs dot com
- Project(s)
- DualQ Coupled AQM: Compare, contrast & walk through implementations
- TCP Prague: Fall-back to TCP-Friendly on detection of classic ECN bottleneck
- L4S interop testing: How does your DualQ or Prague TCP/QUIC/... implementation work compared to others?
- L4S Application testing: How is your application performing when using L4S/Prague? Does it benefit from lower queuing delay? How noticeable is the difference? Is it L4S ready, how to improve?
- Resources: L4S Landing page with links to repos, documentation, etc: https://riteproject.eu/dctth/#code
6MAN, Path MTU Discovery
- Champion(s)
- Project(s)
- https://datatracker.ietf.org/doc/draft-hinden-6man-mtu-option/
- Implement host and router support in FreeBSD, Linux and VPP (router only) for an RFC1063 equivalent approach, where forward and reverse PMTU information is conveyed in the Hop by Hop option.
- Measure performance impact of HBH processing by intermediate routers.
- Report to tsvwg and 6man.
SACM Architecture, v105
- Champion(s)
- Bill Munyan (CIS) bill dot munyan dot ietf at gmail dot com
- Project(s)
- SACM Architecture Operations discovery, data modeling, and implementation
Identifier Locator Network Protocol (ILNP)
Postcard Based Telemetry for Insitu Flow Information Telemetry
- Champion(s)
- Min Liu <lucy.liumin at huawei.com>
- Tianran Zhou
- Giuseppe Fioccola <giuseppe.fioccola at huawei.com>
- Project(s)
YANG, YANGcatalog, Telemetry
- Champion(s)
- Benoit Claise
- Éric Vyncke
- Project(s)
- Telemetry in the YANGcatalog
- Telemetry tooling
- Automated testing of YANGcatalog server (web & API)
- etc.
Network Time Security (NTS) - a trustworthy version of NTP
- Champion(s)
- Michael Cardell Widerkrantz , - remote
- Martin Samuelsson - remote
- Project(s)
- Contact: ##nts on [http://freenode.net/ FreeNode IRC] , xmpp:mc at hack.org
**ARTS2U User based Recommender utility''
Transactional network test framework for flow capable bridge nodes ( OpenFlow, NETCONF )
- Champion(s)
- Vladimir Vassilev
- Project(s)
- References
DNS / DNS security and privacy / DANE ( DNSOP, DPRIVE )
Various members of the DNS community will be at the Hackathon working on different projects.
- Champion(s)
- Benno Overeinder
- Project(s)
Real Time PTP Monitoring & Notification
SCTP / WebRTC Data Channels
- Champion(s)
- Randall Stewart, Michael Tüxen
- Project(s)
- Improve I-DATA support, especially stream schedulers
DHCPv6-PD snooping for FRRouting
- Champion(s)
- David Lamparter (at the Preferred Path Routing table)
- Project(s)
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.