wiki:106hackathon

Version 62 (modified by shenyiwen7@…, 2 weeks ago) (diff)

--


IETF 106 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, November 16 and 17, 2019
Where: Raffles City Convention Centre, Room: Moor/Morrison
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.


Agenda

Hackathon

  • Saturday, November 16
    • 08:30: Room open for setup by project 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
  • Sunday, November 17
    • 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
    • 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, November 18, 18:10-19:40. Room: Moor/Morrison
    • View the schedule or reserve space for your team/project
      • Reservations for space must be made by 12:00, Monday, November 18
  • Code Lounge
    • Space for groups to gather and collaborate on running code
    • Monday - Friday, November 18-22. Room: Moor/Morrison
    • View the schedule or reserve space for your team/project

Meeting Materials


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
  • 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/ietf106-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

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
    • Al Morton acm (at) research.att.com : Measurements Topic : Wired access to the IETF network - Switch with 4 ports available.
    • Jake Holland jholland (at) akamai.com : Wired access to the IETF network, receiving up to 15mbps of unresponsive UDP traffic.
    • Rodney W. Grimes rgrimes (at) freebsd.org : SCE (Some Congestion Experienced) : Wired access to the IETF network - Switch with 4 ports available, VLAN capable would be a plus.

Remote participation

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.


Projects Included in Hackathon (add your project using the template provided at end of project list)

  • 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.

Bonjour / DNS-Based Service Discovery / DNSSD Code Clinic

  • Champion
    • Stuart Cheshire (cheshire at apple.com)
  • Project
    • Service Discovery Code Clinic. If your application has any place where a human user enters a hostname or IP address, come by for hands-on help updating your application to use network service discovery to improve that user experience. We can help you do this using the APIs available on Windows, Android, Linux, macOS, and iOS. If you’re using another platform, we can help you port the open source mDNSResponder code to that platform too. Please email Stuart Cheshire with “Code Clinic” in the subject line to arrange a time slot if possible, but if not, please feel free to show up any time.

Trusted Execution Environment Provisioning (TEEP)

  • Champion(s)
    • Dave Thaler
  • Project(s)
    • Open Trust Protocol: evaluate OTrPv1 vs OTrPv2 proposal, test implementations of OTrP-over-HTTP

Identifier Locator Network Protocol (ILNP)

  • Champion(s)
    • Saleem Bhatti <saleem at st-andrews.ac.uk>
  • Project(s)

JSON Meta Application Protocol (JMAP)

Sliding Window FEC codec (SWIF)

Coding in the Network/P4

  • Champion(s)
    • Marie-José Montpetit (marie_at_mjmontpetit.com)
  • Project(s)
    • The main goal is to start an implementation of basic functions to allow the implementation of some of the COIN use cases. At this point data filtering and identification is targeted.
    • More info on a P4 platform to use at the hackaton will be made available to the participants.

QUIC

  • Champion(s)
    • Lars Eggert
  • Project(s)
    • interop around the current implementation drafts

QUIC Measurements

  • Champion(s)
    • Jari Arkko (jari.arkko at ericsson.com)
    • Marcus Ihlar (marcus.ihlar at ericsson.com)
  • Project(s)
    • interop around the measurements of QUIC and other traffic
    • bring software to a new version and test it, previously using the version from the October interop
    • innovate new ideas around potential measurements and ways of reporting them
    • (ANYTHING THAT YOU WANT TO DO IN THE MEASUREMENT SPACE :-) )

Formal languages

BGP Monitoring Protocol (BMP)

IPsec

Cefore

MUD and IoT Onboarding

BMWG - Containerized Infrastructure Benchmarking

BMWG - Implement RFC2544 for NETCONF/YANG managed tester and DUT

Measurement Systems, Tools, and Projects * - but see some qualifications below

  • Champion(s)
    • Al Morton (acm (at) research.att.com)
  • Project(s)
  • <any other measurement project is welcome, newcomers should have some background in measurement>
  • REQUESTS
    • Al Morton, acm (at) researchatt.com, Wired ETH and small switch

WISHI (Work on IoT Semantic / Hypermedia Interoperability)

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)

Telemetry/YANG

  • Champion(s)
    • Benoit Claise (Cisco) bclaise at cisco dot com
    • Eric Vyncke (Cisco) evyncke at cisco dot com
    • Joe Clarke(Cisco) jclarke at cisco dot com
  • Project(s)
    • Improve telemetry tooling
    • Improve yang-catalog.org

Privacy Enhancements and Assessments Research Group: Pluggable Transports

  • Champion(s)
    • Shivan Sahib (Salesforce) ssahib at salesforce döt com
    • David Oliver (Guardian Project) david at guardianproject dot info
  • Project(s)
    • Pluggable Transport for Android

Braid: Synchronization for HTTP

IFIT: In-situ Flow Information Telemetry

TAPS (Transport Services) implementations

AMBI over TLS

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 everyone. 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.

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.

  • Champion(s)
    • Harald Alvestrand <harald at alvestrand.no>
    • Alexandre Gouaillard <alex.GOUAILLARD at cosmosoftware.io>
  • Project(s)
    • Simulcast in WebRTC 1.0 (all)
      • Unified plan
      • BWE / Bitrate Adaptation
      • PLI and layers
    • real-time AV1 encoding / decoding / RTP payload in libwebrtc (CoSMo, Google)
    • H.265 hardware acceleration support in libwebrtc (INTEL, Apple, CoSMo)
    • Merging of INTEL test suite into KITE

L4S: Low Latency Low Loss Scalable throughput

  • Champion(s)
    • Bob Briscoe
  • Project(s)
    • Classic (RFC3168) ECN AQM detection and fall-back
    • Interaction with FQ AQMs
    • ns3:
      • Complete and release ns3 L4S test set
      • TCP Prague and Cubic implementation/validation
    • (?) Accurate ECN Feedback in TCP (AccECN) interop, esp. corner cases
  • Resources: L4S Landing page with links to repos, documentation, etc: ​https://riteproject.eu/dctth/#code

SRv6 Mobile User Plane

  • Champion(s)
    • Satoru Matsushima <satoru.matsushima at gmail dot com>
  • Project(s)
    • Implement SRv6 funcitons specified in draft-ietf-dmm-srv6-mobile-uplane on VPP and P4 based platform.
    • Develop docker test environment, test codes, related tools (e.g, scapy for 5G user plane packet generation) and documents.
  • Resources

SCE: Some Congestion Experienced

  • Champion(s)
    • Rodney W. Grimes <rgrimes at freebsd.org>
  • Project(s)
    • CNQ (Cheap Nasty Queueing) with SCE implementation
    • Comparing L4S and SCE https://github.com/heistp/sce-l4s-bakeoff/#future-work
      • sudden capacity increase, then decrease
      • sudden RTT increase, then decrease
      • simulated bursty link using netem slotting
      • bi-directional traffic (start with rrul_be)
      • asymmetric link scenarios
    • Accurate ECN (AccECN) and SCE compatibility
    • FreeBSD end node implementation of SCE
  • Resources: SCE Linux kernel implementation https://github.com/chromi/sce

Missing Elements for Decentralized and Usable Privacy (MEDUP, non-WG)

  • Champion(s)
    • Hernâni Marques <hernani at pep.foundation> / p≡p foundation & Damiano Boppart <damiano at pep-project.org> / p≡p security
  • Project(s)

ECA (Event Condition Action) YANG Data Model

  • Champion(s)
    • Zitao Wang <wangzitao at huawei.com>
    • Daniel King <d.king at lancaster.ac.uk>
    • Chongfeng Xie <xiechf.bri at chinatelecom.cn>
  • Project(s)
    • Use Policy based Event Management YANG Data model to configure the network device and provide device self management on faults, alarms, a change in network state, network security threat state changes;
    • Use Policy based Event Management YANG Data model to provide service assurance and closed loop network management in the management plane.
  • Development Environment: Python
  • Specifications:

Telemetry tagging YANG Data Model

  • Champion(s)
    • Ran Tao < taoran20 at huawei.com>
    • Qin Wu < bill.wu at huawei.com>
  • Project(s)
    • Use YANG data node tag to filter different discrete categories of YANG data node within YANG modules supported

by a device and provide consistent representation and reporting for the same category of YANG data nodes;

SRv6 VPN YANG

TM-RID (Trustworthy Multipurpose - RemoteID)

  • Champion(s)
    • Robert Moskowitz
    • Stewart Card
    • Adam Wiethuechter

SSH, TLS, DSCP, http451

Interface to Network Security Functions (I2NSF) Framework

IP Wireless Access in Vehicular Environments (IPWAVE) Basic Protocols

  • 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)
    • Linux Kernel Compiling for OCB mode (Kernel version 4.4).
    • IPv6 packet transmission between two OCB-enabled wifi modules.
      • UDP packets transmission
      • Video streaming

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.