Lucid: A Language for Control in the Data Plane

by   John Sonchack, et al.

Programmable switch hardware makes it possible to move fine-grained control logic inside the network data plane, improving performance for a wide range of applications. However, applications with integrated control are inherently hard to write in existing data-plane programming languages such as P4. This paper presents Lucid, a language that raises the level of abstraction for putting control functionality in the data plane. Lucid introduces abstractions that make it easy to write sophisticated data-plane applications with interleaved packet-handling and control logic, specialized type and syntax systems that prevent programmer bugs related to data-plane state, and an open-sourced compiler that translates Lucid programs into P4 optimized for the Intel Tofino. These features make Lucid general and easy to use, as we demonstrate by writing a suite of ten different data-plane applications in Lucid. Working prototypes take well under an hour to write, even for a programmer without prior Tofino experience, have around 10x fewer lines of code compared to P4, and compile efficiently to real hardware. In a stateful firewall written in Lucid, we find that moving control from a switch's CPU to its data-plane processor using Lucid reduces the latency of performance-sensitive operations by over 300X.


page 1

page 2

page 3

page 4


Study on emerging applications on data plane and optimization possibilities

By programming both the data plane and the control plane, network operat...

Taurus: An Intelligent Data Plane

Emerging applications – cloud computing, the internet of things, and aug...

A Survey on Data Plane Programming with P4: Fundamentals, Advances, and Applied Research

With traditional networking, users can configure control plane protocols...

P4COM: In-Network Computation with Programmable Switches

Traditionally, switches only provide forwarding services and have no cre...

Towards Efficient Control Flow Handling in Spatial Architecture via Architecting the Control Flow Plane

Spatial architecture is a high-performance architecture that uses contro...

Measurements As First-class Artifacts

The emergence of programmable switches has sparked a significant amount ...

One for All, All for One: A Heterogeneous Data Plane for Flexible P4 Processing

The P4 community has recently put significant effort to increase the div...

Please sign up or login with your details

Forgot password? Click here to reset