Intel Research Cambridge

PacLang

Home
Introduction
Documentation
People
Publications
Latest Release

 

What is PacLang?

PacLang is a language for programming Network Processors. It aims to make it easy to write high performance networking applications on network processors.

PacLang programs are high performance, easy to read, and portable.

What are the Aims of PacLang?

What New Features does PacLang Have?

  • Architecture Mapping Scripts: Rather than polluting one's high level program with low level, architecture specific details, PacLang separates a program into two files - the high level program, and the architecture mapping script.
  • Linear Types: PacLang's linear type system encourages the programmer to write programs in a style that makes them easy for the compiler to optimise, effectively enforcing a style that it already common in network programming.
  • Advanced Language Features: PacLang is designed purely for packet processing, and contains a number of language features designed to make this easy.

What is the Current Status of PacLang?

An initial alpha release has been made. This release is able to compile many programs, including the included IP Forwarder demo program. Performance is currently very good, and the IP Forwarder achieves line rate on all ports of the target platform.

There are however many language features still to be implemented, and PacLang is not yet ready for use in commercial projects.

PacLang currently only supports one target platform, the Intel® IXP2400™ Network Processor, in the RadiSys ENP-2611 package. We plan to support other targets platforms in the future, including Linux.

 

Some links may take you outside the Intel Research network of laboratories web site.    Other names and brands may be claimed as the property of others.
Last updated December 15, 2004.    Copyright © 2004 Intel Corporation.    Legal Information and Privacy Policy.