[[PageOutline]] = Tutorial: Quick and Easy Network Service and Packet Processing using !NetServ = == Schedule == Tuesday, 3:30 pm - 5:00 pm == Session Leaders == Jae Woo Lee and Roberto Francescangeli, Columbia University == Agenda / Details == !NetServ is a programmable router architecture, designed for dynamically deploying in-network services. Using !NetServ, GENI experimenters can write TCP/IP and packet processing application modules quickly in Java, and dynamically install them into any !NetServ-enabled !ProtoGENI or !PlanetLab nodes. In this hands-on tutorial, you will learn the !NetServ architecture, and develop a simple !NetServ application module. A step-by-step instruction is available here: [wiki:NetServTutorialInstruction] === Prerequisites: === ==== Required: ==== - Basic understanding of GENI concepts - Java programming experience ==== Helpful, but not required: ==== - Experience working with ProtoGENI (covered in an earlier tutorial: Introduction to GENI using Flack by Rob Ricci) === Please arrive with: === A laptop with Pre-work completed (see below) if you want to follow along the hands-on tutorial. === Pre-work: === ==== Required: ==== None, if you simply wants to watch the tutorial. If you want to follow along the tutorial with your hands on the keyboard: - Bring a laptop with !VirtualBox (http://www.virtualbox.org/) installed. - Download and import into !VirtualBox the GEC Tutorial VM. ==== Suggested background materials if you have time: ==== - 14-minute video of !NetServ demo at GEC9 plenary session: http://vimeo.com/16474575 - Latest paper describing !NetServ (14 pages): http://www.cs.columbia.edu/~jae/papers/netserv-v2.1.pdf === Results: === After completing this tutorial, you will: - Understand !NetServ architecture--for example, how various technologies such as Netfilter, JNI and OSGi work together to enable packet processing in Java. - See how !NetServ can shorten the development cycle of your experiments, and how it can create a gentler educational environment for your networking classroom. - Know how to write a !NetServ application module.