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.
The hackathon is over. Check out the summary.
When: Saturday and Sunday, March 23 and 24, 2019
Where: Hilton Prague, Room: Hilton Grand Ballroom
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.
- Saturday, March 23
- 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
- 09:45: Form Teams
- 12:30: Lunch provided
- 15:30: Afternoon break - Snacks provided
- 19:00: Dinner provided
- 22:00: Room closes
- Sunday, March 24
- 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 Related activities before and after the Hackathon weekend
- Netdev 0x13, THE Technical Conference on Linux Networking
- Hackdemo Happy Hour
- Share your hackathon project with IETF community
- Monday, March 25, 18:30 - 20:00, Room: Chez Louis
- View the schedule or reserve space for your team/project
- Reservations for space must be made by 12:00, Monday, March 25
- Code Lounge
- Space for groups to gather and collaborate on running code
- Monday - Friday, March 25-29, Room: Chez Louis
- 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
- Network
- Wireless access to the IETF network will be provided, and from there to the outside world
- Wired access to the IETF network is available by request only
- If you have additional requirements, email Charles Eckel: eckelcu@ cisco.com
- 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 104 Hackathon](https://developer.cisco.com/join/ietf104_
- 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/ietf104-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
¶ 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.
- Champion(s)
- Loganaden Velvindron (logan_at_cyberstorm.mu) - remote
- Codarren Velvindron (codarren_at_cyberstorm.mu) - remote
- Project(s)
- TLS 1.3 support in applications.
- Jabber room: TLSHackathon.
- Champion(s)
- Veegish Ramdani (veegish_at_cyberstorm.mu) - remote
- Kifah Meeran (kifah_at_cyberstorm.mu) - remote
- Project(s)
- http 451 module for drupal
- Champion(s)
- Jaykishan (Nitin) Mutkawoa (jmutkawoa_at_cyberstorm.mu) - remote
- Project(s)
- Champion(s)
- Veegish Ramdani (veegish_at_cyberstorm.mu) - remote
- Project(s)
- Champion(s)
- Lars Eggert (lars_at_netapp.com)
- Project(s)
- Interop around latest (10th) implementation draft
- Champion(s)
- Project(s)
- Integrate endpoint and in-network measurements
- Building further Spindump (https://github.com/EricssonResearch/spindump)
- Start to build a distributed and efficient measurement of large number of flows using spindump as a component
- Interop Spindump with QUIC implementations, and see if there's any issues
- Champion(s)
- Vincent Roca (vincent.roca_at_inria.fr)
- Project(s)
- Champion(s)
- Michael Koster, Ari Keränen, Carsten Bormann
- Project(s)
- Champion(s)
- Theresa Enghardt (theresa_at_inet.tu-berlin.de)
- Philipp Tiesel (philipp_at_inet.tu-berlin.de
- Max Franke (mfranke_at_inet.tu-berlin.de)
- Project(s)
- Hackathon ideas:
- Incorporate more transport protocols (SCTP? QUIC?)
- Implement (non-trivial) transport protocol selection
- Incorporate security protocols, e.g., TLS
¶ MAP: Measurement and Analysis for Protocols - Live
- Champion(s)
- Dave Plonka, Measurement and Analysis for Protocols (MAP) - Research Group
- Mirja Kühlewind, 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
- IP Network Performance and Capacity Measurement Method Comparisons: https://datatracker.ietf.org/meeting/103/materials/slides-103-ippm-02-liaison-to-ippm-00
- We are also open for work and live measurements using other tools and methodology - Please let us know if you want to participate!
- Champion(s)
- Chris Morrow
- Warren Kumari
- Project(s)
- Make the 2 apps (are there more?) as much the same as possible (effectively pull as much functionality which exists in the iApp into the Android App)
- Find another person(s) willing to commit changes to the source of the Android App
- Current Android App Codebase: https://github.com/ietf/ietfsched
- Development of the current app has been done in AndroidStudio?http://developer.android.com/sdk/index.html
- Champions
- Project(s)
- Preconditions:
¶ Secure IoT bootstrapping with Nimble out-of-band authentication for EAP (EAP-NOOB)
- Champion(s)
- Aleksi Peltonen <aleksi.peltonen at aalto.fi>
- Eduardo Inglés Sánchez <eduardo.ingles at um.es>
- Project(s)
- EAP-NOOB is an EAP method where the authentication is based on a user-assisted out-of-band (OOB) channel between the server and peer.
- It is a generic bootstrapping solution for Internet-of-Things devices which have no pre-configured authentication credentials and which are not yet registered on the authentication server. Consider devices you just bought or borrowed.
- EAP-NOOB draft: https://tools.ietf.org/html/draft-aura-eap-noob-04
- EAP-NOOB Implementation: https://github.com/tuomaura/eap-noob
- During the hackathon, we plan to work on the following:
- Bug fixes
- New OOB channels such as NFC and audio
- Testing of new Reconnect Exchange
- Champion(s)
- Petr Špaček <petr.spacek at nic dot cz>
- Project(s)
- Common configuration interface for DNS - YANG. Cross DNS server manageability may significantly benefit from alignment on some baseline formal modeling approach. The combo if NETCONF protocol with YANG modeling was designed and in the meantime also is proven to work well in many configuration contexts - and might prove beneficial also for management of DNS servers and/or services. The hackathon project provides a prove of the concept
- For more details, hackathon results summary and contact to the contributors please see IETF_104_hackathon_DNS%20-comon-config-dns-yang-v12.pdf
- DNSTAP over CBOR. Today DNSTAP messages are delivered using protobuf encapsulated over fstrm, this project will try to use CBOR (RFC 7049) instead of protobuf but still use fstrm for the encapsulation and implement this in both sending (authoritative, resolver) and receiving (dnscap, dsc etc) software. Gist of CDDL example: https://gist.github.com/jelu/46d780709047c9c756dba3c5785e7820
- Brainstorm/hack around DNSTAP and usage of fstrm, current common implementation is that the DNS server software connect out to a fstrm/DNSTAP listener, would also be nice to be able to connect to the DNS server and get the DNSTAP when needed
- Implementing draft-ietf-dnsop-extended-error on Knot Resolver (and may be kdig) (Stéphane Bortzmeyer, Vladimír Čunát)
- Champion(s)
- Project(s)
- RFC6740 / RFC6741 / RFC6742 / RFC6743 / RFC6744 / RFC6745 / RFC6746 / RFC6747 / RFC6748 (Status: Experimental)
- The ILNP_project is enhancing the Internet Architecture by enriching the set of namespaces. The basic approach to this is to deprecate the concept of an Address and replace it with separate Locator and Identifier values. Although the architectural concept is independent of any particular network protocol, our research demonstration will be based on IPv6.
- Champions:
- Project
- Enhancements of pyDTN
- What si pyDTN ?
- Proof of concept (POC) implementation of Bundle protocol agent in python3. Most of the integration work was done on 101th IETF's Hackathon.
- What it does/doesn't do ?
- Goals for hackathon
- enhance implementation of TCP-based convergence layer
- incorporate DTN IP Neighbor Discovery
- any other enhancements are welcomed, will largely depend on size of the team
¶ Security Automation and Continuous Monitoring
- Champion(s)
- Project(s)
- SACM Architecture
- Develop an XMPP extension/component and client to allow for an orchestration of posture attribute collection
- Expand data model development to help define posture attributes to collect
- Champion(s):
- Project:
- Implement RTP feedback for congestion control
- Hopefully, demonstrate interoperability, and measure its performance in realistic scenarios
- Specification:
- Champion(s):
- Luca Muscariello <lumuscar+fdio at cisco.com>
- Project:
- Testing IETF-YANG for hICN VPP binary API plugin using sysrepo/sweetcomb
- Integration of Apache Traffic Server hICN plugin for HLS/DASH streaming over hICN reliable transport.
- Testing TLS integration over hICN reliable socket.
- Testing DTLS integration over hICN unreliable socket.
- References:
- Champion(s)
- Project(s)
- Implementing server-side integration and test vector generation for AES-GCM-SIV
- Implementing client-side integration and test vector responses for AES-GCM-SIV
- References:
- Champion(s)
- Jaehoon Paul Jeong < pauljeong at skku.edu>
- Project(s)
- The Integration of I2NSF Framework and ETSI NFV Architecture based on Openstack for Dynamic Creation of Virtual NSFs.
- The Support of Service Function Channing for Traffic Steering.
- I2NSF Policy Translation from High-Level Security Policy to Low-Level Security Policy using Automata.
- I2NSF Policy Porivisioning to appropriate NSFs using the capability of NSFs.
- The Support of NETCONF for Registration Interface according to the latest Capability YANG Data Model.
- The Support of RESTCONF for Consumer-Facing Interface according to the latest Consumer-Facing Interface YANG Data Model.
- The Support of NETCONF for NSF-Facing Interface according to the latest NSF-Facing Interface YANG Data Model.
- Specifications:
- Champion(s)
- Jaehoon Paul Jeong < pauljeong at skku.edu>
- Project(s)
- Transmission of IPv6 Packets over IEEE 802.11-OCB (IPv6 over 802.11-OCB)
- 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
- Simulations of IPWAVE with SUMO, INET, and VEINS
- Build IPv6/TCP/UDP protocol stack based on VEINS-4.7.1 and INET-4.0
- Build basic IPWAVE running scenario, V2I and V2V based on VEINS-4.7.1 and SUMO-0.32.0
- Transmit IPv6 data packets
- Specifications:
- Where to get code:
- Video clip demo:
- Champion(s)
- Project(s)
- implement traffic-generator and traffic-analyzer modules for Linux
- implement traffic-generator and traffic-analyzer modules for discrete event network simulation tools
- implement transactional network test API for python
- References
- Champion(s)
- Project(s)
- verification and improvement of multithreading support in sysrepo
- common usecases examples
- testing and performance improvements
- References
¶ WebRTC Interop and WPT testing
- Champion(s)
- Project(s)
- Add more tests to the Web Platform Tests suite for webrtc
- Add more tests to the KITE test suite
- Test browser interoperability with SFUs and MCUs
- Fix browsers to pass more tests and interoperate better
- More info: 104hackathon/webrtc
- Champion(s)
- Satoru Matsushima <satoru.matsushima@…>
- Project(s)
- Champion(s)
- Project(s)
- JMAP Proxy and/or JSCalendar
- Champion(s)
- Martine Lenders <m.lenders@…>
- Peter Kietzmann <peter.kietzmann@…>
- Project(s)
- Implementing 6LoWPAN Selective Fragment Recovery for RIOT
- Re-integrate OpenWSN (6)T(i)SCH stack into RIOT part 2
- Extract plain TSCH MAC layer
- Add hardware support for Openmote B
- Add COAP support to the OpenWSN stack
- References:
- Champions
- Brendan Moran <Brendan.Moran@…>
- Koen Zandberg <koen@…>
- Emmanuel Baccelli <emmanuel.baccelli@…>
- Project(s)
- References
¶ Homenet, DNSSD and the Internet of Things
- Champions
- Ted Lemon <mellon @fugue.com>
- Stuart Cheshire <cheshire @apple.com>
- Projects (this ambitious, and we probably won't do all of it, but these would all be good things to work on if there is interest):
- Turnkey homenet build of OpenWRT
- If the Turris folks are down, it would be nice if they could join us and make it work in Turris OS as well.
- Homenet-wide service discovery using the DNSSD Discovery proxy we’ve been working on, which is fully functional at this point.
- Support for DNSSD SRP (this would involve finishing the SRP gateway I’ve been working on, and getting it to update Unbound or BIND).
- Joining constrained-network edge routers to homenet routing and service discovery infrastructure
- MUD support for devices that are not on a separate link, but are isolated from nodes that don’t have permission to talk to them. This should be doable in OpenWRT.
- Automatic IKEv2 tunnels on OpenWRT that use the new split DNS stuff being published in IPSECME to allow us to serve home.arpa to VPN clients.
- References:
- Champions
- Ole Troan <otroan@…>
- Bob Hinden <bob.hinden@…>
- Loganaden Velvindron <logan_at_cyberstorm.mu>
- Project(s)
¶ Implementation and experimentation of TCP Prague/L4S
- Champion
- Projects
- Prototype the "TCP Prague" congestion control on Linux
- Finalize the implementation of accurate ECN (draft conformance), and port it on Linux v5.x
- Build tooling around L4S to let people experiment with the technology (e.g., virtual machine, or mininet labs)
- Work towards "QUIC Prague"
- Resources
- Champion(s)
- Potential Projects (no quantum physics knowledge is required - we will introduce the basics)
- Quantum Ping (discussion and writing a document)
- What is the abstraction of the quantum ping in the Quantum Internet.
- What functionalities quantum ping should have.
- How functionalities be realized in quantum plane and classical plane, etc.
- Applications for 2019/2020 lab setups and beyond (using published API on a simulator)
- Entanglement advertisement https://tools.ietf.org/html/draft-kaws-qirg-advent-01
- Anonymous quantum state transfer
- Bit commitment
- Over a trusted network
- Measurement-device independent
- Device independent
- Blind Quantum Computation
- QKD variants (e.g device-independent)
- Conference Key agreement (multi-party QKD)
- Quantum Secret Sharing
- Consensus algorithms (e.g. Byzantine)
- Leader election algorithms
- Coin-flipping
- Formal verification of quantum algorithms
- and what participants suggest
- Resources
- Champion(s)
- Kaname Nishizuka
- Jon Shallow
- Liang 'Frank' Xia
- Project(s)
- DDoS Open Threat Signaling (DOTS).
- The aim of DOTS is to develop a standards based approach for the realtime signaling of DDoS related telemetry and threat handling requests and data between elements concerned with DDoS attack detection, classification, traceback, and mitigation.
- We will test the interoperability between independent implementations:
- We will make some demo to demonstrate PoC of newly proposed spec.
- Champion(s)
- Bozidar Skrbic
- Malisa Vucinic
- Tengfei Chang
- Project(s)
- OpenTestbed
- OpenTestbedis a mqtt based Testbed used for verifying the performance of network protocol such as 6TiSCH
- OpenWSN
- OpenWSN is an open source implementation of 6TiSCH.
- During the Hackthan, we are going to show a 40 nodes network running with OpenWSN implementation over OpenTestbed?.
- OpenBenchMark
- OpenBenchMark automates the experimentation and network performance benchmarking on selected testbeds supporting Internet of Things devices compliant with IEEE 802.15.4 standard.
- We are going to use OpenBenchMark platform to evaluate the performance of 6TiSCH network during the Hackthan.
¶ 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 micropython 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 over UDP, allowing easy remote participation including remote testing between participants.
- on Sunday, we may still pull out a few pycoms and a LoRaWAN gateway, if Saturday was productive.
- The 4 actions points for this week-end:
- clean up the GitHub? repos, notably the documentation. In general, make it easier for a newcomer to join the project and contribute.
- test the last version of Ack-on-Error fragmentation. Add consistent, human-readable logs. Add scenarios with various parameter values.
- reconverge between two versions of the compression code.
- discuss fragmentation rules representation, implement.
- Champion(s)
- Hitoshi Asaeda < asaeda at nict dot go dot jp>
- Kazuhisa Matsuzono < matsuzono at nict dot go dot jp>
- Project:
- https://cefore.net
- Cefore is an open source software enabling Content-Centric Networking (CCN). Cefore consists of (1) "cefnetd" daemon, which is an extensible forwarding engine that implements CCNx message handling and FIB/PIT management, (2) "csmgrd" daemon, which implements Content Store and interacts with cefnetd, (3) arbitrary plugin library implementations that extend cefnetd's or csmgrd's functionalities, and (4) tools/commands and sample applications.
- References:
¶ RPL over BLE using NimBLE and RIOT
- Champion(s)
- Hauke Petersen <hauke.petersen@…>
- Project(s)
- Use RPL meta data for automatically managing connections for IPSP enabled BLE devices
- References:
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
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.
The content of this page was last updated on 2020-01-07. It was migrated from the old Trac wiki on 2023-02-06.