IETF 102 Hackathon
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 14 and 15, 2018
Where: Fairmont Queen Elizabeth Montreal, Room: Centre Ville (Ground Floor)
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 Project presentations to other participants Join via Meetecho
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.
Agenda
Hackathon
- Saturday, July 14
- 08:30: Room open for setup by project champions
- 09:00: Room open for all - Pastries and coffee provided
- 09:30: Hackathon kickoff Recording
- 09:45: Form Teams
- 12:30: Lunch provided
- 15:30: Afternoon break - Snacks provided
- 19:00: Dinner provided
- 22:00: Room closes
- Sunday, July 15
- 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
- Presentations
- Join via Meetecho
- Vote for the best project here: https://bit.ly/2KZNjpd
- 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
- Netdev 0x12, THE Technical Conference on Linux Networking
- Wednesday - Friday, July 11 - 13, Hyatt Regency, Montreal
- Code Lounge
- Space for groups to gather and collaborate on running code
- Monday - Friday, July 16 - 20 in TBD
- View the schedule or reserve space for your team/project
- Hackdemo Happy Hour
- Share your hackathon project with IETF community
- Monday, July 16, 17:50 - 2010 in Parc A+B+C
- View the schedule or reserve space for your team/project
- Reservations for space must be made by 12:00, Monday, July 16
Meeting Materials
- IETF Hackathon Prep Call - Play recording (32 min 46 sec) Recording password: YeGJcP3H
- Code can be accessed from IETF Hackathon Github, or from links provided within project descriptions below.
- Request to be added to IETF Github organization by sending your Github ID to Charles Eckel: eckelcu@ cisco.com.
- Results of hackathon projects should be uploaded to https://github.com/IETF-Hackathon/ietf102-project-presentations prior to 1400 on Sunday. See the README for details.
- Photos
- Credit should be: © Stonehouse Photographic / Internet Society
Participant Preparation and Prerequisites
- Prep call: Play recording (32 min 46 sec) Recording password: YeGJcP3H
- 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
- 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 event specific link https://developer.cisco.com/join/ietf102
- 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/ietf102-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
- All teams have the opportunity to present what they did on Sunday afternoon at the end of the hackathon
Remote participation
- Participating in person is preferred, but we understand not everyone can travel. If you want to participate remotely, please contact the champion(s) of the project to determine how best to coordinate.
- Jabber room: xmpp:hackathon@jabber.ietf.org
- Meetecho: http://ietf102.conf.meetecho.com/
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.
Projects Included in Hackathon (add your project using the template provided below)
QUIC
- Champion(s)
- Lars Eggert
- Project(s)
- Interop around the current "implementation" drafts
LPWAN CoAP/UDP/IPv6 SCHC compression and fragmentation
- Champion(s)
- Laurent Toutain (IMT-Atlantique) laurent dot toutain at imt dash atlantique dot fr
- Dominique Barthel (Orange Labs) dominique dot barthel at orange dot com
- Project(s)
- in general, the goal is to advance an open-source implementation of SCHC (https://datatracker.ietf.org/doc/draft-ietf-lpwan-ipv6-static-context-hc/ and https://datatracker.ietf.org/doc/draft-ietf-lpwan-coap-static-context-hc/)
- more specifically, at this Hackathon, the goal is to integrate the compression and fragmentation code (currently separate: https://github.com/ltn22/SCHC and https://github.com/tanupoo/schc-test)
- we plan on providing LoRaWAN and Sigfox connectivity for live operation (TBC).
- newcomers always welcome. We have a few spare Pycom boards (https://pycom.io/), we'll set you up so that you can get started with the technology and the code base.
- more details to come
DNSSD extensions for multi-link networks
- Champions
- Ted Lemon <mellon at fugue.com>
- Stuart Cheshire <cheshire at apple.com>
- Project(s)
- DNSSD Discovery Proxy integration with HNCP
- We currently have a Discovery Relay based on mDNSResponder, and should have a Discovery Proxy as well by the Hackathon, so the focus will be on integration.
- If anybody wants expert help getting mDNS working on their device (service provider, infrastructure or host), please come and work with us.
- In particular, we should have a DNSSD registration protocol prototype done by IETF, so getting devices to register with it would be a very useful exercise.
- TBD (will add more specifics closer to IETF)
DNS/DNSSEC/DNS Privacy
- Champion(s)
- Sara Dickinson (sara at sinodun.com)
- Willem Toorop (willem at nlnetlabs.nl)
- Benno Overeinder (benno at nlnetlabs.nl)
- Jan Včelák (jvcelak at ns1.com)
- Allison Mankin (allison.mankin@…)
- Pallavi Aras (paras at salesforce.com)
- Project(s)
- Implementing a *part* of draft-bortzmeyer-dprive-resolver-to-auth ? For instance adding TLS to NSD (patch here https://dnsprivacy.org/wiki/display/DP/DNS-over-TLS+patches has been ported to the most recent release but needs testing and review) ? Is it possible to combine it with https://github.com/shuque/chainserver, which implements DNSSEC-in-TLS?
- Setting up and measuring leakage avoidance using root loopback at privacy server (Mankin)
- Oblivious DNS (ODNS team)
- POC of Multi Provider DNSSEC draft: https://tools.ietf.org/html/draft-huque-dnsop-multi-provider-dnssec-03 ( Shumon Huque, Pallavi Aras)
YANG/NETCONF/RESTCONF
- Champions
- Benoit Claise <bclaise at cisco.com>
- Joe Clarke <jclarke at cisco.com>
- Qin Wu <bill at huawei.com>
- Project(s)
- Maintain and develop data model-driven management tools, around https://www.yangcatalog.org
- Improve integration and displaying of YANG schema information (YANG Explorer) in Netopeer2GUI - https://github.com/CESNET/Netopeer2GUI
- Auto line wrapping and auto indentation tool for artwork in YANG model I-Ds https://github.com/sunseawq/auto-wrap-indent
- Auto artwork extraction from I-Ds and RFCs.
- Alternative southbound interface to flow enabled network bridges (similar to OpenFlow but with YANG model and using NETCONF). report
MEF EVC Service YANG Models in Unimgr Project of ODL
- Champions
- Mahesh Jethanandani <mjethanandani at gmail.com>
- Project
- Continuing from the London hackathon, this project will extend the services from EPL to EVPL, ELAN and EPLAN services.
- In addition, it will attempt to integrate these services with Cisco IOS XRv devices.
- https://github.com/donaldh/unimgr/tree/stable-nitrogen
RIFT LIEs
- Champions
- Tony Przygienda <prz at juniper.net>
- Project(s)
- RIFT is a STD track WG working on a modern IP fabric/DC routing protocol
- Implement 3-way RIFT LIE FSM (3-way hello adjacency) in Python and interop with public standalone binary. If things go well we may tackle the ZTP part as well.
- Preconditions:
- Python networking knowledge (sockets including minimal multicast, we will be doing V4 but may do V6 as well)
- If possible familiar with:
- https://github.com/pytransitions/transitions already and concept of Finite State Machines
- https://thrift.apache.org model client code in Python. Client code is already on Bitbucket Repo, ping any of the sponsors if need access
- installing and playing with the thrift python package upfront helpful
- RIFT Specification, LIE part and FSM Appendix (fairly straight forward, published in RIFT draft)
Network Time Security (NTS)
- Champion(s)
- Karen O'Donoghue <odonoghue at isoc.org>
- Dieter Sibold <dieter.sibold at ptb.de>
- Project(s)
- Implementation of https://datatracker.ietf.org/doc/html/draft-ietf-ntp-using-nts-for-ntp
- Interoperability tests of different implementations of this draft
- NTS Implementation(s):
JSON Meta Application Protocol (JMAP)
- Champion(s)
- Bron Gondwana <brong at fastmailteam.com>
- Projects
- Interoperability tests of implementions of jmap-core and jmap-mail.
Security Automation and Continuous Monitoring (SACM)
- Champion(s)
- Bill Munyan
- Adam Montville
- Project(s)
- Discovery and creation of YANG data models for use with traditional IT device configuration/vulnerability assessment (i.e. non-network-devices).
- Discovery will begin with an investigation into YANG data models based on SACM information elements
Control Plane and User Plane Separation BNG control channel Protocol (CUSP)
- Champions(s):
- Zhenqiang Li
- Michael Wang
- Projects
- Verify the validity and performance of Control Plane and User Plane Separation BNG control channel Protocol (CUSP)
- Control Plane communicate with User Planes via CUSP
- Control Plane centralized manage the resource pooling, dynamic assign the IP address field to UPs.
- Verify the validity and performance of Control Plane and User Plane Separation BNG control channel Protocol (CUSP)
- Specifications:
Authentication and Authorization for Constrained Environments (ACE)
- Champion(s):
- Ludwig Seitz
- Jim Schaad
- Projects
WISHI (Work on IoT Semantic / Hypermedia Interoperability)
- Champion(s)
- Michael Koster, Ari Keränen, Carsten Bormann
- Project(s)
For latest draft agenda, see https://github.com/t2trg/wishi/wiki/Hackathon-Planning
Limited Usage of Remote Keys (LURK)
- Champions(s):
- Sanjay Mishra <sanjay dot mishra at verizon dot com>
- Ori Finkelman <orif at qwilt dot com>
- Daniel Migault <daniel dot migault at ericsson dot com>
- Projects
- Delegation of video delivery request from a uCDN to a dCDN using LURK protocol
- A CLurk OpenSSL implementation
- Nginx integration (benchmark for session establishment, CPU and latency)
- Management model and API for the LURK key server
- Current implementation can be found at:
- Delegation of video delivery request from a uCDN to a dCDN using LURK protocol
TLS 1.3
- Champion(s)
- Nitin J Mutkawoa (jmutkawoa at cyberstorm.mu) -remote
- Codarren Velvindron (codarren at cyberstorm.mu) -remote
- Loganaden Velvindron (logan at cyberstorm.mu) -remote
- Project(s)
- Interop with D28 for TLS 1.3 implementations.
- Applications integration.
- XMPP/Jabber link: TLSHackathon on jabber.ietf.org
Software Update for IoT (SUIT)
- Champion(s)
- Hannes Tschofenig
- Project(s)
- Implementation of the manifest parsing on different microcontrollers.
- The Berlin hackathon write-up can be found at https://pad.inria.fr/p/cYawtv2ivnoOl60X_suit-hackathon
HTTP error code 451
- Champions
- Shivan Kaul (shivankaul.1993@…)
- Remote: Alp Toker (alp@…)
- Projects
- https://github.com/451hackathon
- an indexer of censored web pages
- plugins for popular CMSes that make it as easy to mark a webpage as blocked as it is to delete or unpublish it.
- a web browser plugin that detects response code 451
- an update to RFC7725
- an implementation report for HTTP Status Code 451 & RFC7725
- hosting control panel implementation for take down requests and action.
Human Rights Review Team
- Champions
- Niels ten Oever (niels@…)
- Beatrice Martini (beatrice@…)
- Projects
- Set up the review team gitlab space
- Review of QUIC.
MLS implementations
- Champion
- dkg (dkg@…)
- Project
- Implementation of I-D drafts in messaging layer security working group.
- Architecture draft: https://datatracker.ietf.org/doc/draft-omara-mls-architecture/
- Protocol draft: https://datatracker.ietf.org/doc/draft-barnes-mls-protocol/
- Details
DOTS Interop
- 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 4 independent implementations:
- in addition to signal-channel (CoAP over DTLS), we proceed to interoperability testing of data-channel (RESTCONF) of DOT protocol.
- https://tools.ietf.org/html/draft-ietf-dots-signal-channel-20
- https://tools.ietf.org/html/draft-ietf-dots-data-channel-16
- DDoS Open Threat Signaling (DOTS).
Interface to Network Security Functions (I2NSF) Framework
- Champion(s)
- Jaehoon Paul Jeong <pauljeong at skku.edu>
- Project(s)
- 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.
- 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.
- SFC Support using OVS SFC Implementation of OpenDaylight? for SFC-based Traffic Steering according to I2NSF Capabilities Information Model.
- Specifications:
- https://tools.ietf.org/html/rfc8192
- https://tools.ietf.org/html/rfc8329
- https://tools.ietf.org/html/draft-ietf-i2nsf-applicability-03
- https://tools.ietf.org/html/draft-ietf-i2nsf-capability-02
- https://tools.ietf.org/html/draft-ietf-i2nsf-capability-data-model-01
- https://tools.ietf.org/html/draft-ietf-i2nsf-nsf-facing-interface-dm-01
- https://tools.ietf.org/html/draft-ietf-i2nsf-consumer-facing-interface-dm-01
- https://tools.ietf.org/html/draft-kumar-i2nsf-client-facing-interface-im-06
- https://tools.ietf.org/html/draft-hyun-i2nsf-nsf-triggered-steering-05
- https://tools.ietf.org/html/draft-hyun-i2nsf-registration-interface-im-04
- https://tools.ietf.org/html/draft-hyun-i2nsf-registration-interface-dm-03
- https://tools.ietf.org/html/draft-zhang-i2nsf-info-model-monitoring-06
- https://tools.ietf.org/html/draft-hong-i2nsf-nsf-monitoring-data-model-04
- https://tools.ietf.org/html/draft-yang-i2nsf-security-policy-translation-00
Scalable, Privacy-preserving In-Network (SPIN Bit) Measurement
- Champion
- Marcus Ihlar (marcus.ihlar@…)
- Project
- Implementation and interop of proposed spin bit mechanism in QUIC
- Implementation and testing of measurement tools
- Spin bit extensions / alternatives using additional reserved bits in short header
- Specifications
YANG/CoMI
- Champion
- Alexander Pelov (a@…)
- Project
- Develop an open-source implementation of CoMI server AND client - https://tools.ietf.org/html/draft-ietf-core-comi-03
- There is a reference implementation on F-Interop, but proprietary
- At least one open-source implementation will be started - in Python
- License: MIT (other open for discussion)
NETVC
- Champion(s)
- Timothy B. Terriberry <tterribe@…>
- Project(s)
- AV1
- Git repository: https://aomedia.googlesource.com/aom
- Bug tracker: https://bugs.chromium.org/p/aomedia/issues/list
- Gerrit: https://aomedia-review.googlesource.com/
- Contributor's Guide: http://aomedia.org/contributor-guide/
- Daala: https://git.xiph.org/?p=daala.git
- Thor: https://github.com/cisco/thor
- Are We Compressed Yet: https://github.com/tdaede/awcy
- rd_tool (AWCY backend): https://github.com/tdaede/rd_tool
- rav1e: https://github.com/xiph/rav1e
- AV1
- Resources:
- Are We Compressed Yet: https://arewecompressedyet.com/
- Video test sets: https://media.xiph.org/video/derf
PERC
- Champion(s)
- Richard Barnes
- 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.
![(please configure the [header_logo] section in trac.ini)](https://www.ietf.org/images/ietflogotrans.gif)