P4-RTT Round trip time measurement on the data plane


Project description

Passive network telemetry allows administrators and users to better understand the conditions of the network without sending probe packets. One useful metric that can indicate congestion and the presence of unwanted traffic is round trip time (RTT). We present a program, which runs on P4 programmable switches, for passively measuring RTTs on the data plane. Our program processes packets at constant time and space using hashing and other functions available on P4. Calculated RTTs and memory usage can be read at runtime using a controller application. Furthermore, our program specification allows for certain parameters to be tunable in real-time using the controller application.

  • Efficiently measures RTTs at line-rate
  • RTTs captured reflect actual network condition
  • Does not contribute to traffic congestion
  • Instantaneous reporting via controller
  • Low memory footprint

The original program specification was written by Mack Lee.


Code for BMv2

GitHub Repo

Code for Tofino

GitHub Repo

Project leads

Xiaoqi Chen (xiaoqic@cs.princeton.edu)
Satadal Sengupta (satadal.sengupta@cs.princeton.edu)
Hyojoon Kim (joonk@princeton.edu)
Javed Aman (javeda@princeton.edu)
Willie Chang (whchang@princeton.edu)
Jennifer Rexford (jrex@cs.princeton.edu)

Publications