laochonlam / p4-projects

P4 codes for research projects

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Open source P4 implementations

This repository is used to host the open-source P4 implementations of some of our research projects.

Projects

  • AES: AES encryption on BMV2 model
  • AES-tofino: AES encryption on Tofino switch
  • ConQuest-tofino: ConQuest queue analysis on Tofino switch
  • ONTAS: Traffic anonymization on BMV2 / Tofino
  • PRECISION-tofino: The PRECISION heavy-hitter algorithm on Tofino switch
  • RTT-tofino: TCP Round-Trip Time measurement on Tofino switch

Please refer to individual project sub-folders for open-source licenses.

Related repositories

Below is a non-exhaustive list of other repositories hosting open-sourced P4 programs. (Please add to this list -- pull requests welcomed!)

Tofino P4-16

  • BeauCoup: Run multiple distinct-counting queries on Tofino
  • MicroP4: Modularized data-plane programming

Tofino P4-14

  • ATP: Provide in-network aggregation service to accelerate deep learning training in multi-tenant settings
  • ATP-SwitchML: Provide in-network aggregation service to accelerate deep learning training
  • Cheetah: Use Tofino to accelerate Spark queries
  • Chipmunk: Use program synthesis to generate P4 code
  • NetLock: Using P4 switch for lock management
  • Mantis: Generates reactive P4 program and C++ agent

BMV2

  • NetCache: Using P4 switch as cache for key-value store
  • NetChain: Using P4 switch for coordination service
  • NetHCF: Employing programmable switches for spoofed IP traffic filtering
  • PINT: Probabilistic In-band Network Telemetry
  • PRECISION-bmv2: The PRECISION heavy-hitter algorithm on BMV2 switch
  • QPipe: Quantile sketch in data plane
  • Speedlight: Synchronized Network Snapshots
  • Tutorial: The official P4 tutorial has many example P4 programs (under the solution folders)
  • P4-Guide: More example P4 programs.

About

P4 codes for research projects


Languages

Language:P4 50.1%Language:Python 40.8%Language:Objective-C 6.9%Language:TeX 1.9%Language:Makefile 0.3%