Home

Awesome

Introduction

This repository contains a variety of potentially useful information for those wanting to work with the P4 programming language.

Installing open source P4 development tools

There are install scripts in this repository that can assist you in building and installing the p4c and behavioral-model projects and their dependencies on some recent versions of Ubuntu or Fedora Linux systems.

See these instructions and trouble-shooting tips for using these scripts.

There are also some newer instructions here for installing IPDK on an Ubuntu 20.04 Linux system, and using the DPDK software switch to load and run P4 programs.

Articles on various P4 topics

See this page for a list of articles included in this repository.

This is the home for documentation on P4C that is auto-generated via doxygen and configuration files checked into the https://github.com/p4lang/p4c repository:

Overview of public P4.org documentation and code repositories

Small demo P4 programs

A collection of small demo P4 programs, some of them with equivalent versions written in both P4_14 and P4_16 versions of the language.

Related development tools and tips

Brief overview of P4

This is just enough to give you a 'flavor' of what P4 is like, in about 500 words. It assumes you are familiar with the programming language C or something very similar to it, e.g. C++ or Java.

Very brief comparison of P4_14 and P4_16 languages

Some advantages of P4_16 over P4_14:

Disadvantages of P4_16 vs P4_14: