The SPP Tutorial

From ARL Wiki
Revision as of 22:26, 24 February 2010 by Ken Wong (talk | contribs)
Jump to navigationJump to search

Template:Under Constructin

Introduction

The main tutorial pages are designed to give a new SPP user step-by-step, simple examples that illustrate the main SPP concepts and contain links to a number of auxilliary pages that provide more information. It is hoped that these main pages will get you started quickly but supply sufficient information and links so you can try more complex examples.

Recall from Internet Scale Overlay Hosting that an SPP developer writes code for a General-purpose Processing Engine (GPE) and a Network Processor Engine (NPE). Typically, the NPE code handles packets along the fastpath while the GPE code handles control and exception packets. Programming a GPE is similar to programming any general-purpose processor with multiple network interfaces. But because programming an NPE is quite different than programming a general-purpose processor, we anticipate that a typical SPP user will develop their router software for GPE's and then NPE-knowledgable programmers will transform the fastpath components of the GPE code to run on an NPE.

There are four main wiki pages in The SPP Tutorial:

  • The SPP Tutorial: is this page which gives an overview of the other tutorial pages and covers administrative issues such as creating an account and getting a slice.
  • Hello GPE Tutorial: describes how to use the GPE as a slowpath router.
  • Hello IPv4 Code Option Tutorial: describes how to use the IPv4 code option which uses the NPE to process most IPv4 packets and uses the GPE to handle slowpath packets (e.g., local delivery and exceptions).
  • Writing A Simple Code Option Tutorial: describes how to write a new code option.

The Hello GPE Tutorial xxx

The Hello IPv4 Code Option Tutorial xxx

The Writing A Simple Code Option Tutorial xxx

Requirements

This tutorial assumes that you are using a Linux operating system and have access to standard Unix tools. In particular, you will need:

  1. An environment where you can compile code for a Linux operating system
  2. OpenSSH
  3. The latest version of Java to run some monitoring software and traffic generators

Getting Started

xxx

Creating an Account

Getting a Slice

Adding SPPs to Your Slice

Deploying Software to the SPPs