Version 56 (modified by s.vural@…, 22 months ago) (diff) |
---|
IETF 101 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, March 17 and 18, 2018
Where: Hilton London Metropole, Room TBD
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.
Agenda
Saturday, March 17 08:00: Room open for setup of posters at tables by projects champions 09:00: Room open for all - Pastries and coffee provided 09:30: Hackathon kickoff 09:45: Form Teams 12:30: Lunch provided 15:30: Afternoon break - Snacks provided 19:00: Dinner provided 22:00: Room closes and is locked Sunday, March 18 09:00: Room opens - Pastries and coffee provided 12:30: Lunch provided 13:30: Hacking stops, prepare brief presentation of project 14:00: Project presentation to other participants and judges 15:00: Recap and suggestions for improvements 15:30: Awards presented, prizes given 16:00: Hackathon ends 17:00: Tear down complete
For your planning purposes, be aware that we will also have:
- Code Lounge: Space reserved in the IETF Lounge throughout the week of IETF, March 19-23, for groups to gather and collaborate on running code.
Meeting Materials
- IETF Hackathon Prep Call - Will be scheduled for sometime during the week before the hackathon
- Presentations can be uploaded and accessed from https://datatracker.ietf.org/group/hackathon/meetings/
- Send presentations you want uploaded to Charles Eckel: eckelcu@ cisco.com
- 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.
Participant Preparation and Prerequisites
- 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 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 for some of 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
- Code Lab
- Thanks to Comcast and Arris, we will have a rack of equipment that includes a CMTS, cable modems, and VMs on demand. If you have questions or want access to generic VMs, a CMTS, a home network environment, etc., email Charles Eckel: eckelcu@ cisco.com and Chris Tuska: Chris.Tuska@ arris.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
- 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/ietf101
- Champions for each technology are encouraged to share any other things they think would be helpful in preparation for 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) for that project to determine how best to coordinate.
- Jabber room: xmpp:hackathon@jabber.ietf.org
- Meetecho: Active and recorded Saturday from 09.30-10.00 and Sunday from 14.00-16.00
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)
DNS
- Champion(s)
- Stéphane Bortzmeyer bortzmeyer+ietf at nic.fr
- Project(s)
- Implementing a *part* of draft-bortzmeyer-dprive-resolver-to-auth ? For instance adding authentication in Unbound (which is already capable of talking TLS to upstream but may be not to auth.)? Is it possible to combine it with https://github.com/shuque/chainserver, which implements DNSSEC-in-TLS?
- Champion(s)
- Stéphane Bortzmeyer bortzmeyer+ietf at nic.fr
- Project(s)
- Implementing draft-woodworth-bulk-rr in NSD? Possible application: porting asn.routeviews.org to IPv6 (where you need dynamicity, you cannot pre-generate all the names)
- Champion(s)
- Stéphane Bortzmeyer bortzmeyer+ietf at nic.fr
- Project(s)
- Implementing draft-ietf-doh-dns-over-https Python server and Go client should be fine. The Go client may be done as a patch to Go-DNS https://github.com/miekg/dns Or getdns https://getdnsapi.net/ as the client. The Go work will be done by Miek Gieben https://miek.nl/2018/february/19/ietf-101-dns-hackathon/
ARC (related to DMARC WG)
- Champion(s)
- Kurt Andersen
- Project(s)
- Interoperability Validation across all known implementations
- Experimenting with strategies for crypto algorithm evolution
Multilingual email
- Champion(s)
- Nik Tomkinson (rfc.nik.tomkinson at gmail.com)
- Project(s)
- Development of Sending and Receiving Implementations of multipart/multilingual content types. This refers to RFC 8255 - Multiple Language Content Type - https://tools.ietf.org/html/rfc8255
QUIC
- Champion(s)
- Lars Eggert (lars@…)
- Project(s)
- Interop testing of current "implementation draft" (likely 08 or maybe 09)
(Privacy-Friendly, Scalable, Passive/Hybrid?) Transport Measurability
- Champion(s)
- Brian Trammell (ietf@…)
- Project(s)
- Passive transport measurement using fd.io
- TCP SEQ/ACK RTX/loss
- TCP TSOPT RTT
- QUIC spin bit RTT/loss event
- QUIC Spin Bit development and interop (note: this is separate from QUIC to not distract from -08 / -09 interop, but we'll set up next to the QUIC table)
- QUIC loss/reordering measurement signals bake-off
- Passive transport measurement using fd.io
Public interest technology
- Champion(s)
- Mallory Knodel
- Project(s)
- HTTP status code 451
- Measuring leakage from IoT with a MITM proxy
- WebRTC Apple discoverability, IP route leaks
- Web protocol privacy considerations
- Privacy impact assessment tool on RFCs.
ANIMA voucher and ACP
- Champion(s)
- Michael Richardson
- Project(s)
- use of the ANIMA BRSKI for enrollment of devices into a PKI
- use of IPsec and RPL to construct the ANIMA ACP overlay between devices
- ACP construction can include people who are remote!
JMAP
- Champion(s)
- Bron Gondwana
- Neil Jenkins
- Project(s)
- Interoperability testing
- Check that spec covers client needs
DHCPv6
- Champion(s)
- Martine Lenders
- Project(s)
- Implementing (parts) of draft-dhcwg-dhc-rfc3315bis for the RIOT operating system. Main focus will be to replace the proprietary UHCP client implementation with DHCPv6 prefix delegation. If time permits address assignment via DHCPv6 will also be implemented.
SACM/XMPP Interface Discovery
- Champion(s)
- Adam Montville
- Bill Munyan
- Project(s)
- Configuring XMPP services extended with as much of an XMPP-grid Controller as possible (https://datatracker.ietf.org/doc/draft-ietf-mile-xmpp-grid/)
- Implementation of an XMPP-Grid connector for SCAP assessment engine
- Implementation of an XMPP-Grid connector for SCAP results repository/dashboard
Making Multicast IP more successful
- Champion(s)
- Lucas Pardue (lucas.pardue at bbc.co.uk)
- Project(s)
- HTTP over multicast QUIC (draft-pardue-quic-http-mcast-02)
- Uplift of sender application to IETF QUIC wire format
- Uplift of receiver application to IETF QUIC wire format
- (note: this is a separate activity to the QUIC interop)
- Browser HTTP Server push API
- Further exploration and interop of server push API
- HTTP over multicast QUIC (draft-pardue-quic-http-mcast-02)
- Champion(s)
- Jake Holland (jakeholland.net at gmail.com)
- Project(s)
- An open reference platform implementing an "AMT Gateway" as described in BCP 213 section 3.3 (https://tools.ietf.org/html/rfc8313#section-3.3)
- Integrate amtgwd into a quagga image
- Add support for pimd. (build membership reports from kernel forwarding table instead of forwarding a received membership report)
- Publish a deployable distro
- An open reference platform implementing an "AMT Gateway" as described in BCP 213 section 3.3 (https://tools.ietf.org/html/rfc8313#section-3.3)
WebRTC Data Channels
- Champion(s)
- Lennart Grahl (lgrahl@…), Felix Weinrank (weinrank@…), Michael Tüxen (tuexen@…)
- Project(s)
- NEAT Integration of WebRTC Data Channels.
- Portable C-based WebRTC Datachannel implementation (based on RAWRTC https://github.com/rawrtc/rawrtc).
WISHI (Work on IoT Semantic / Hypermedia Interoperability)
- Champion(s)
- Ari Keränen, Carsten Bormann
- Project(s)
For WISHI (Work on IoT Semantic / Hypermedia Interoperability), we meet in person at IETF101 at the Hackathon. For latest draft agenda, see https://github.com/t2trg/wishi/wiki/Hackathon-Planning
Interoperation between NEAT and PvD (provisining domains - intarea)
- Champion(s)
- Eric Vyncke (Cisco), Pierre Pfister (Cisco), Tom Jones (UoA)
- Project(s)
- Integration/interoperation between NEAT (https://www.neat-project.org/) and INTAREA PvD on Linux (https://github.com/IPv6-mPvD draft-ietf-intarea-provisioning-domains), interoperation between PvD implementations, interoperation between NEAT applications
Limited Usage of Remote Key (LURK) for TLS1.2
- Champion(s)
- Daniel Migault (daniel.migault@…), Dmitry Kravkov (Qwilt), Sanjay Mishra (Verizon)
- Project(s): LURK implementation on providing an interface between a cryptographic service (Key Server) and an Edge Server (TLS servers) terminating TLS sessions.
- Implementing LURK for TLS1.2: (draft-mglt-lurk-lurk and draft-mglt-lurk-tls12)
- Integrating LURK with NGINX Web Server.
- YANG models for configuring LURK Client / LURK Server
- Measuring LURK performances
- Porting LURK on UDP/DTLS
- Porting LURK on TCP/TLS
YANG/NETCONF/RESTCONF
- Champion(s)
- Benoit Claise
- Project(s)
- yangcatalog.org: Joe Clarke, Benoit Claise
- xxx : Vladimir Vassilev report
YANG based EVC Service Modeling in OpenDaylight?
- Champion(s)
- Mahesh Jethanandani (mjethanandani at gmail.com)
- Project(s)
- Demonstrate configuration and management of E-Line, E-LAN, and E-Tree Services in OpenDaylight?
- Use Postman and other tools to invoke REST APIs to configure, update, and delete services
DTN (Delay Tolerant Networking) - Bundle Protocol v7 PoC Python implementation
- Champion(s)
- Martin Pilka (X-works, martin.pilka at x-works.io), Boris Pilka (X-works), Kamil Szabo (X-works), Jakub Drastich (X-works), Alex Tokar (X-works), Felix Walter (Technische Universität Dresden)
- Project(s)
- Implement PoC (Proof-of-Concept) Python implementation of Bundle Protocol v7 (https://datatracker.ietf.org/doc/draft-ietf-dtn-bpbis/) in Python
- Demonstrate interoperability with uPCN implementation (https://upcn.eu/contact.html)
- Stretch goal: Demonstrate interoperability with ION implementation (http://ipnsig.org/2017/04/14/mitre-publishes-updated-dtn-development-kit/)
LPWAN: IPv6 compression+fragmentation implementation and testing on LoRaWAN, a shot at ICMPv6
- Champion(s)
- Laurent Toutain (firstname.lastname at imt-atlantique dot fr)
- Dominique Barthel (firstname.lastname at orange dot com)
- Project(s)
- IPv6 compression and fragmentation for LPWAN technologies is being defined at the LPWAN WG. See https://datatracker.ietf.org/doc/draft-ietf-lpwan-ipv6-static-context-hc/.
- At this hackathon, we'll improve/test a prototype implementation of the fragmentation, on both the End-Device and the Network server sides.
- We'll test it on a live LoRaWAN network.
- A radio gateway will be provided, which can forward to your computer on the LAN or on the Internet.
- A few Pycom boards (https://pycom.io/product/lopy/) will be available as development platforms for the end-device.
- an open-source implementation of IPv6 compression/fragmentation will be made available to work on / test
- As a complement, we'll discuss views and clobber some ICMPv6 processing to work jointly with the IPv6 compression/fragmentation.
6LoRITT: 6LoWPAN Interoperability Testing Sessions (plugtest) with the F-Interop Testing Platform
- Champion(s)
- Alain Ribault (firstname.lastname at kereval dot com)
- Benjamin Tertereau (firstname.lastname at kereval dot com)
- Project(s)
- 6LoWPAN interoperability testing sessions (plugtest)
- At the hackaton, we'll organize a 6LoWPAN plugtest using the F-Interop Testing Platform
- F-Interop Testing Platform is composed of a website (test management) describing the tests to realize and gathering tests results and of agents (sniffer) to collect test logs to be analyzed
- The tests cover the following RFCs:
- We'll come with an implementation based on linux-WPAN running on a RPi and the radio chip
- For the testing session, we could provide the agents (sniffer)
- During the hackaton, we'll discuss about the needs of such a testing platform for 6lo and other protocols
WebRTC Identity
- Champion(s)
- Harald Alvestrand <harald at alvestrand.no>
- Project(s)
- Use Firefox' "identity" API to perform protection of WebRTC media channels
- Set up at least one, maybe several, identity providers and see if they interoperate
ICN-RIOT
- Champion(s)
- Cenk Gündoğan <firstname.guendogan at haw-hamburg.de>
- Peter Kietzmann <firstname.lastname at haw-hamburg.de>
- Project(s)
- Enable/improve CCNx packet format support in CCN-lite with RIOT
- Implement https://tools.ietf.org/html/draft-gundogan-icnrg-ccnlowpan-00 for CCNx using https://github.com/inetrg/libICNL, RIOT and CCN-lite
- Implement a clock synchronization protocol with authentication mechanisms (similar to NTPv4) for NDN / CCNx using CCN-lite and RIOT
IETF Mailing List Analysis
- Champion(s)
- Nick Doty <npdoty at ischool.berkeley.edu>
- Project(s)
- Bigbang open source mailing list/community analysis software https://github.com/datactive/bigbang
- What statistics/questions do you have about mailing list activity or IETF participation?
- Crawling/collecting new IETF mail archives format
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:
- The primary goal is to test the interoperability of signal-channel (CoAP over DTLS) of DOT protocol.
- DDoS Open Threat Signaling (DOTS).
- Specifications
- Implementations
- OSS by NTT: nttdots: https://github.com/nttdots/go-dots
- proprietary implementation of NCC Group
- proprietary implementation of Arbor
- proprietary implementation of Huawei
Messaging Layer Security
- Champion(s)
- Richard Barnes <rlb@…>
- Emad Omara <emadomara@…>
- Raphael Robert <raphael@…>
- Project(s)
- https://github.com/cisco/mlspp
- https://github.com/bifurcation/mls
- Implementation TBD from Google and Wire
NFV on a Federated and Orchestrated Virtualisation Platform
- Champion(s)
- Roberto Minerva <Roberto.Minerva@…>
- Serdar Vural <s.vural@…>
- Project(s)
- VM-to-VM key performance metrics collection
- Useful links:
- Getting started: http://docs.softfire.eu/getting-started/
- Experiment manager: http://docs.softfire.eu/experiment-manager/
- Experiment definition: http://docs.softfire.eu/experiment-definition/
- NFV deployment tutorial: http://docs.softfire.eu/nfv-tutorial-custom/
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.