Table of Contents
IETF 94 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.
photo credit © Stonehouse Photographic / Internet Society
- When: Saturday and Sunday October 31, and November 1, 2015 in conjunction with IETF 94
- Where: Pacifico Yokohama, Room 315
- Signup for the Hackathon: https://www.ietf.org/registration/ietf94/hackathonregistration.py
- To follow on twitter: #ietfhackathon
- Mailing list address: hackathon@ietf.org
The format and agenda of the Hackathon is such that it is best to attend both Saturday and Sunday in order to get the most out of the event, but we realize travel constraints and other meetings can interfere. You are welcome to come and go as necessary.
Agenda (subject to change)
Saturday, October 31 09:00: Room opens - Pastries and coffee provided 09:30: Hackathon kickoff - Intro to all technologies by champions, form teams 12:30: Lunch provided 15:30: Afternoon break - Snacks provided 18:30: Progress check and sharing 19:00: Dinner provided 22:00: Room closes and is locked Sunday, November 1 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
Below is a list of the current IETF 94 Hackathon technical topics. 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 do 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.
To request a wiki account, please click on the login button on the bottom right corner of the page, and choose register. If you need a new password please click on the login button on the bottom right corner of the page and choose Send new password.
Technologies Included in Hackathon (more can be added)
DHCP 4o6
- Champions
- Francis.Dupont Francis.Dupont@fdupont.fr
- Tomek Mrugalski tomasz.mrugalski@gmail.com
- DHCPv4-over-DHCPv6 to provision IPv4 nodes in IPv6-only network, see RFC7341.
- Code base chosen is Kea, an new open source DHCP implementation from ISC.
- More info about the project (including pointers to the git repo with sources): http://kea.isc.org
- Work in progress design of the 4o6 solution http://kea.isc.org/wiki/Dhcp4o6Design
- Requirements codified: http://kea.isc.org/wiki/Dhcp4o6Requirements
- Prototype implementation and some comments: http://kea.isc.org/wiki/DHCP4o6-Use
DNS/DNSSEC/DANE/DNS-over-(D)TLS
- Champions
- Dickinson, Sara sara@sinodun.com
- Kahn Gillmor, Daniel dkg@fifthhorseman.net
- Mankin, Allison amankin@verisign.com
- Seltzer, Wendy wseltzer@wc3.org
- Toorop, Willem willem@nlnetlabs.nl
- Wicinski, Tim tjw.ietf@gmail.com
- Včelák, Jan jan.vcelak@nic.cz
- Platforms: getdns(getdnsapi.net), dnspython
- Projects, contacts, source links (for getdns: source is release 0.51rc forward at https://github.com/getdnsapi/getdns:
- getdns prototype of roadblock-avoidance extension - Willem Toorop willem@NLnetLabs.nl, Benno Overeinder benno@NLnetLabs.nl
- getdns “Check TLS at Recursive” tool (app and web) - Gowri Visweswaran gvisweswaran@verisign.com, Sara Dickinson sara@sinodun.com>
- getdns implementations of client privacy mode for edns0-client-subnet and of edns0-padding option - DKG dkg@fifthhorseman.net
- getdns prototype of call reporting (reporting privacy results) - John Dickinson jad@sinodun.com, Sara Dickinson sara@sinodun.com
- getdns support in OpenDNS - Melinda Shore melinda.shore@nomountain.net
- prototype of an application monitoring CDS/CDNSKEY in child zones - Jan Včelák <jan.vcelak@nic.cz>, Shumon Huque <shuque@verisign.com>. Open source: https://github.com/fcelda/cds-monitor
- brew formula updates for getdns - Matt Miller mamille2@cisco.com
- pcaps of dns-over-tls, edns0-padding and edns0-tcp-keepalive for patches for Wireshark - Sara Dickinson sara@sinodun.com
- coordination/documentation - Allison Mankin amankin@verisign.com
I2RS
- Champions
- Susan Hares shares@ndzh.com
- RESTCONF/NETCONF
- I2RS RIB - add/delete v4 routes
- I2RS Topology add/delete L3 node, and link
- I2RS FB-RIB - add/delete one filter for v4 route
- participants: TBD
- software: ODL based
ICE
- Build ICE test application
- JSON based candidate exchange
- Some sort of simple rendezvous server
- ICE improvments always welcome
- One open source implementations available at: https://github.com/cisco/NATTools
- Hackathon introductory presentation: https://docs.google.com/presentation/d/1iCmwE0lm1_0yrjlzCZ_dgNpIohDlw7BpFLNzZH0JIWc/edit?usp=sharing
- Champions
- Pal Martinsen (palmarti) palmarti@cisco.com
NETCONF/YANG, I2RS, OpenDaylight
- Mahesh Jethanandani (Sunday), Carl Moberg (arrive Sat Mid day): searchable YANG directory, e.g. front-end to be a RESTCONF-server with a known YANG Model to query for URLs based on namespace-URNs
- Jan Medved (virtual attendance): YANG model dependency visualization tool
- ? : extract URI and revision number from RFC
- Anees Shaikh: a few pyang plugins, including one to help relocate modules into a larger structure
- Benoit Claise: improve the YANG stats on claise.be, flagging some specific error messages, improving the visual, including IEEE stats
- Champions:
- Benoit Claise bclaise@cisco.com
- Ignas Bagdonas ibagdona.ietf@gmail.com
NETVC
- Goals: Continue experiments on combining Thor and Daala tools
-
- Issues to work on: https://github.com/cisco/thor/issues
-
- Quickstart Guide: https://wiki.xiph.org/Daala_Quickstart
- Issues to work on: https://github.com/xiph/daala/issues
- Code review: https://review.xiph.org/ (account creation is manual, sadly, please ask us for one).
- Continuous integration: https://mf4.xiph.org/jenkins/view/daala/
- Performance metrics: https://arewecompressedyet.com/ (just tell us the location of your public git repository and we'll set you up to run your changes here).
- IRC: #daala on freenode
- Champions
- Timothy B. Terriberry tterriberry@mozilla.com
- Nathan Egge negge@mozilla.com
SFC
- Goal: Implement SFC Proxy in OpenvSwitch based on draft-song-sfc-legacy-sf-mapping-06. (https://tools.ietf.org/html/draft-song-sfc-legacy-sf-mapping-06)
- Overview: Kick-Off Presentation Slide (https://github.com/eckelcu/ietf-hackathon/blob/master/94/presentations/SFC-kickoff.pdf)
- Platform: NSH patched OVS(nsh-v8) (https://github.com/pritesh/ovs/tree/nsh-v8)
- Champions
- Katsuhiro Horiba qoo@sfc.wide.ad.jp
- Toshiyuki Kubo toshiyuki.kudo@alaxala.net
- Kengo Naito k.naito@nttv6.jp
IBNEMO(Intent Based Network Modeling)
- NEMO Language is an Intent oriented network DSL (domain specific language) and NBI. Operator/End-user or 3rd party can use it to program network resource and behavior in their service applications. It's now being implemented in Opendaylight (https://wiki.opendaylight.org/view/NEMO:Main).
- Goals
- Come up with an initial toolset to produce and manipulate NEMO
- Implement the use cases as a proof of concept for NEMO
- Tasks
- set up the integration environment
- develop applications to use the NEMO API
- develop an Eclipse based NEMO editor
- develop other useful tools
- Possible use cases
- end to end carrier network including vCPE
- virtual private cloud integrating NetIDE
- Prerequisites
- Editor
- Eclipse MARS with modeling tools
- Xtext
- Controller
- OpenDaylight (see reference)
- Mininet (VMs will be provided)
- Champions
- Tianran Zhou zhoutianran@huawei.com
- Qiao Fu fuqiao@chinamobile.com
- Pedro Aranda pedroa.aranda@telefonica.com
Homenet
- DNS64 for Homenet use (stand-alone daemon? existing? add to dnsmasq? add to https://github.com/sbyx/ohybridproxy? many options)
- NAT64 for Homenet use (fix existing one to fit the requirements? write new PLAT in Linux kernel?)
- Start/Work on DNCP/HNCP conformance test suite
- Implement more tests for HNCP
- Improve quality of (OpenWrt) hnetd by installing it + playing with it (bring your own supported router; see http://wiki.openwrt.org/toh/start )
- …
- Champions
- Markus Stenberg markus.stenberg@iki.fi
RIOT (OS for internet of things)
- Tasks
- Take the excellent TSCH implementation of the OpenWSN project and introduce it as a MAC protocol to RIOT.
- Updating the CCN-Lite stack in RIOT, work on a flexible transport implementation. The goal is to make it configurable whether CCN runs over UDP or directly over any link-layer (Ethernet, IEEE 802.15.4…)
- Champions
- Thomas Eichinger thomas.eichinger@fu-berlin.de
- Oliver Hahm oliver.hahm@inria.fr
- Setting things up
- Easiest way to start developing for RIOT would be to use RIOT's native port.
- Needed packages for major operating systems can be found at https://github.com/RIOT-OS/RIOT/wiki/Family:-native.
- RIOT's supported boards can be found also in the Wiki.
Participant Preparation and Prerequisites
- Bring a laptop on which you are comfortable developing software
- Some projects may require installing additional software
- Familiarity with the technology area(s) in which you plan to participate will certainly help
- Brief introductions will be provided at the start of the Hackathon by the champions associated with each technology
- Your laptop is the default development platform for each technology
- Anything else that is required will be provided, such as VMs you can install on our laptop or access from your laptop
- 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 may 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
- Wireless access to the IETF network will be provided, and from there to the outside world
- Git/GitHub is commonly used for open source projects. Familiarizing yourself with it is recommended.
- A basic tutorial is provided in the previous post: https://mailarchive.ietf.org/arch/msg/92hackathon/lM8Ag_is4a00PsudnzaqdV1vhoE
- Github project for hackathon presentations and code: https://github.com/eckelcu/ietf-hackathon
- Champions for each technology are encouraged to share any other things they think would be helpful in preparation for the hackathon
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.
Recap and Results
Project Presentations
- DHCPv4o6 “Best Interop”
- IBNEMO “Best Video Demo”
- NETCONF (YANG) “Best Tool”
- NETVC “Best Continuous Improvement”
- RIOT “Best Future Internet Component”
- SFC “Best Enabler for New Network Functions”
Top three
- HOMENET “Best of Show”
- I2RS “Most Helpful Failure”
- DNS “Best Internet Security Improvement”
https://github.com/eckelcu/ietf-hackathon/tree/master/94/results