This is an old revision of the document!
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 November 11, 2017 and Sunday November 12, 2017
Signup for the Hackathon here: Hackathon Registration
View the list of registered Hackathon attendees: Attendees Signup to demo your Hackathon work on Wednesday, November 15, 2017: Hackathon Demos at IETF 100 Keep up to date by subscribing to https://www.ietf.org/mailman/listinfo/hackathon
The Hackathon is free to attend. —- ==== Agenda ==== Saturday, November 11 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, November 12 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, November 13-17, for groups to gather and collaborate on running code. Schedule time for your team. —- ==== Meeting Materials ==== * IETF Hackathon Prep Call - Play recording (42 min 2 sec), password: 4gXDgzJB * Presentations can be uploaded and accessed from https://datatracker.ietf.org/group/hackathon/meetings/ * Send presentations you want uploaded to Charles Eckel email@example.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 firstname.lastname@example.org * Photos * Take and post your own on Twitter with hash tags #IETFHackathon #IETF100 —- ==== Participant Preparation and Prerequisites ==== * Champions will have posters describing their project(s) and be available to answer questions at the start and throughout the hackathon * 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 email@example.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 firstname.lastname@example.org 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/ietf100 * Introduction to Device Level Interfaces (Module, 4 labs) * Introduction to Standard Models * Introduction to YANG Data Modeling * Introduction to NETCONF Protocol * Introduction to RESTCONF Protocol * 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 * 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. —- ==== Technologies Included in Hackathon (more can be added) ==== Data Leak Prevention (DLP) * Champion(s) * Reinaldo Penno * Project(s) * Equifax, Home Depot, Target, HBO (Game of Thrones), do any of these security breaches scare you? * Do you want to participate on a open source project that sets well known standards on data protection? * We have open sourced an alpha DLP project that lays the foundation for such work. * We will be discussing next steps on IETF-100 * https://github.com/magengit * There is a Hello World application at https://github.com/magengit/magen-hwa IPv4-IPv6 Transition Technology Interop * Champion(s) * Lee Howard, Ole Trøan * Mailing list: http://lists.retevia.net/listinfo.cgi/v6-interop-retevia.net * Project(s) * Develop test plan/matrix. Based on tickets https://tickets.meeting.ietf.org/wiki/nat64 and discussion, include at least Palo Alto VPN, OpenVPN, Outlook for Mac, Jabber (Google), voice calls, Spotify. * Develop public site to record findings (available over IPv6-only, of course) * Test applications on ietf-NAT64 * Configure 464xlat network(s). May include CPE-based CLAT, and/or device-based CLAT. * Configure DS-Lite network(s). May include multiple vendors' implementations. * Configure MAP-T network(s). May include multiple vendors' implementations. * Configure MAP-E network(s). May include multiple vendors' implementations. JMAP Interop * Champion(s) * Bron Gondwana * Project(s) * JMAP Proxy server * Test client libraries * Test server implementations DNS * Champion(s) * Benno Overeinder * Project(s) * Implementation of the “opportunistic send of A record when queried for AAAA (and vice-versa) idea? (No draft, I think, only floating ideas.) We would need at least one auth. server to send these opportunistic answers and one recursive to cache them. Test that nothing breaks. (Contact Stéphane Bortzmeyer) * Implementation of DNS-wire-format over HTTPS (DOH WG). There are implementations of DNS-JSON over HTTPS but not wire-format. (Contact Stéphane Bortzmeyer) * Tests of multiple questions in the Question Section (no draft, just to compare with the other “multiple answers” drafts). (Contact Stéphane Bortzmeyer) * DANE authentication of DNS-over-TLS upstreams (draft-ietf-dprive-dtls-and-tls-profiles) DNSSD (DNS-Based Service Discovery) * Champion(s) * Stuart Cheshire & Ted Lemon * Project(s) * Testing client/server interoperability of: * DNS Stateful Operations * DNS Push Notifications * Service Discovery Proxy * Service Discovery Relay * Service Discovery Broker * Mailing lists: * DNSOP Working Group * DNSSD Working Group * An overview of these protocols can be found in the Service Discovery Road Map * Note from Stuart: I will be arriving in Singapore at 06:50 Saturday morning, and then coming directly to the Hackathon. I hope to be at the Hackathon by 09:00 or soon after, but that will depend on whether the flight (UA37) arrives on time, time for customs, immigration, and travel time. TLS * Champion(s) * Nick Sullivan * Project(s) * TLS 1.3 draft 21 testing and interop * Implementation in applications (wget) * Implementation and interoperability testing of adopted drafts * TLS/DTLS 1.3 Implementations NETVC * Champion(s) * Timothy B. Terriberry email@example.com * 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 * Resources: * Are We Compressed Yet: https://arewecompressedyet.com/ * Video test sets: https://media.xiph.org/video/derf SACM * Champion(s) * Adam Montville (VA Scenario) * Henk Birkholz (SACM telemetry & orchestration via YANG) * Project(s) * Vulnerability Assessment Scenario Continuation: SACM has defined a vulnerability assessment scenario (see https://trac.ietf.org/trac/sacm/wiki/SacmVulnerabilityAssessmentScenario), and this project seeks to continue the prototype work performed during the IETF 99 hackathon (see https://www.ietf.org/registration/MeetingWiki/wiki/99hackathon). Work done at two tables of IETF 99 are going to be combined in this effort. * For more details see: https://github.com/sacmwg/vulnerability-scenario/tree/master/ietf_hackathon * Project planning will be done here: https://github.com/sacmwg/vulnerability-scenario/projects/2 * We are planning to (virtually) meet twice a week starting the week of 9/10 * See first meeting slot poll: https://doodle.com/poll/t7949qekm8bczuca * See second meeting slot poll: https://doodle.com/poll/v3hzppcufy3iwx52 * SACM Telemetry and Orchestration via YANG and YANG push: Building on the work done at the last meeting (see https://datatracker.ietf.org/meeting/99/materials/slides-99-sacm-hackathon-xmpp/ and https://datatracker.ietf.org/doc/draft-birkholz-sacm-yang-content/) this project targets to extend the existing workflow by introducing control plane functions (i.e. partial orchestration), such as capability discovery and target endpoint discovery as well as the appropriate distribution of imperative guidance for collection (i.e. filter expressions). In consequence, work done at two tables of IETF 99 is going to be combined in this effort. YANG/NETCONF/RESTCONF * Champion(s) * Benoit Claise * Project(s) * yangcatalog.org: Joe Clarke, Benoit Claise * yuma123 (API, netconfd, yangcli) : Vladimir Vassilev report * yangvalidator.com: Mahesh Jethanandani * Add support for yandump-pro. * Add support for multiple files to be uploaded as part of the first option * Add support for validation using a draft id. Currently returns 403. QUIC * Champion(s) * Lars Eggert * Project(s) * Interop around the -07 drafts. See the QUIC WG wiki for details on what will be tested. Captive Portals * Champion(s) * Martin Thomson * Project(s) * API * MAC address propagation * HTTPS Interface to Network Security Functions (I2NSF) Framework * Champion(s) * Jaehoon Paul Jeong (firstname.lastname@example.org) * Sangwon Hyun (email@example.com) * Project(s) * I2NSF Framework for provisioning Network Security Functions (NSF) * Consumer-Facing Interface via RESTCONF/YANG * NSF-Facing Interface via NETCONF/YANG * Registration Interface via NETCONF/YANG * Network Security Functions * Firewall using SDN and Suricata * Deep Packet Inspection (DPI) using Suricata * Advanced Functions * NSF-triggered Traffic Steering using SFC * YANG Data Modeling for NSF Monitoring * Dynamic Policy Configuration * Specifications: * https://tools.ietf.org/html/rfc8192 * https://tools.ietf.org/html/draft-ietf-i2nsf-framework-08 * https://tools.ietf.org/html/draft-ietf-i2nsf-client-facing-interface-req-03 * https://tools.ietf.org/html/draft-ietf-i2nsf-applicability-00 * https://tools.ietf.org/html/draft-ietf-i2nsf-capability-00 * https://tools.ietf.org/html/draft-jeong-i2nsf-consumer-facing-interface-dm-04 * https://tools.ietf.org/html/draft-kim-i2nsf-nsf-facing-interface-data-model-03 * https://tools.ietf.org/html/draft-hares-i2nsf-capability-data-model-04 * https://tools.ietf.org/html/draft-hyun-i2nsf-nsf-triggered-steering-03 * https://tools.ietf.org/html/draft-hyun-i2nsf-registration-interface-im-02 * https://tools.ietf.org/html/draft-hyun-i2nsf-registration-interface-dm-01 * https://tools.ietf.org/html/draft-zhang-i2nsf-info-model-monitoring-04 * https://tools.ietf.org/html/draft-hong-i2nsf-nsf-monitoring-data-model-00 * Implementation: * Github Page: https://github.com/kimjinyong/i2nsf-framework * Suricata (Oepn Source IDS/IPS/NSM Engine): https://suricata-ids.org/ * OpenDaylight (Open source SDN platform): https://www.opendaylight.org/ * Mininet (An Instant Virtual Network on your Laptop): http://mininet.org/ Public Interest & HTTP Status Code 451 * Champion(s) * Niels ten Oever * Project(s) * Public interest technologies in the IETF * HTTP Status Code 451 * https://github.com/451hackathon * https://tools.ietf.org/html/draft-451-imp-report-00 * https://tools.ietf.org/html/draft-manyfolks-hrcrfc7725-00 * Human rights impact assessments of Internet protocols and architecture. * https://tools.ietf.org/html/draft-irtf-hrpc-research * https://tools.ietf.org/html/draft-tenoever-hrpc-association Generating Certificate Requests for Short-Term, Automatically-Renewed (STAR) Certificates * Champion(s) * Thomas Fossati (firstname.lastname@example.org) * Project(s) * https://datatracker.ietf.org/doc/draft-sheffer-acme-star-request/ IPv6 compression+fragmentation prototype implementation for LoRaWAN * Champion(s) * Laurent Toutain (firstname.lastname at imt-atlantique dot fr) * Dominique Barthel (firstname.lastname at orange dot com) * Project(s) * IPv6 compression for LPWAN technologies is being defined at the LPWAN WG. We recently added fragmentation. See https://tools.ietf.org/html/draft-ietf-lpwan-ipv6-static-context-hc-07. * At this hackathon, we'll work on 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. A few Pycom boards (https://pycom.io/product/lopy/) will be available as development platforms for the end-device. DOTS Interop * Champion(s) * Kaname Nishizuka * Jon Shallow(Remote) * 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 two independent implementations: * The primary goal is to test the interoperability of signal-channel (CoAP over DTLS) of DOT protocol. * Specifications * https://tools.ietf.org/html/draft-ietf-dots-signal-channel-06 focused * https://tools.ietf.org/html/draft-ietf-dots-data-channel-06 * Implementations * nttdots: https://github.com/nttdots/go-dots * internal implementation by Jon Shallow ECN / AQM Testing & Interop * Champion(s) * Igor Lubashev, Kyle Rose, Aaron Falk * Project(s) * Performance comparison w/ & w/o ECN/AQM of video from Akamai origin through home router IOAM * Champion(s) * Mickey Spiegel, Shwetha Bhandari * Project(s) * Initial implementation of In-situ OAM (IOAM) in software (VPP) and hardware * Specifications: * https://tools.ietf.org/html/draft-ietf-ippm-ioam-data * https://tools.ietf.org/html/draft-brockners-ioam-vxlan-gpe * https://tools.ietf.org/html/draft-brockners-inband-oam-transport WISHI * Champion(s) * Ari Keränen, Carsten Bormann * Project(s) * http://wishi.space * For WISHI (Work on IoT Semantic/Hypermedia Interoperability,), we meet in person at IETF100 at the Hackathon. The objective is to make use of the various interfaces of implementations we have for capturing and retrieving semantic information, such as oneIOTA, iot.schema.org, or the IPSO objects/LWM2M repository. We want to make sure that we all have some working knowledge about important systems that are out there for this purpose, and possibly write some code to try out the programmatic interfaces. It would be nice if the protagonists of the various systems could be present in person and, for extra bonus, a short introduction how and why (when) one should use that system. If we can capture learnings from this Hackathon in the WISHI wiki, that would also be a useful outcome. * remote participation: https://jitsi.tools.ietf.org/t2trg-wishi * Singapore is UTC+8, so this will be 0400Z..0600Z. Sorry about the time, and to add insult to injury, no lunch for remotes (but you can watch us eat . CoAP-over-TCP * Champion(s) * Carsten Bormann, Hannes Tschofenig * Project(s) * We want to do some interoperability testing of the fresh implementations based on draft-ietf-core-tcp-tls-10. libcoap might serve as a reference implementation. Some hacking on the implementations expected… * remote participation: https://jitsi.tools.ietf.org/coap-tcp —- Testing the file uploaded feature. File here. 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 email@example.com 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 request a wiki account, please click on the login button on the top right corner of the page, and choose register. If you need a new password please click on the login button on the top right corner of the page and choose Send new password.