This is a presentation for the paper Lucid: a language for control in the data plane. It is structured to run for 40 minutes.

Lucid is a language for programming the dataplane of programmable switches. At its current state, it has support for Intel Tofino switches. Its position in the stack is equivalent to P4, and it compiles to P4 for Intel Tofino switches.

The development kit and source code is on GitHub: https://github.com/PrincetonUniversity/lucid.

More about Lucid

Lucid abstracts away all the low-level concepts of P4 and takes an event-driven model for programming the dataplane. Packets are treated as events, and a Lucid developer writes handlers for operating on such events. Handlers are expressed in a C-like, imperative language and will get compiled into the data pipeline. Handlers may perform ALU operations, modify the original packet or generate events (send new packets.) An event can be sent to other switches, or recirculated in the same switch, enabling a distributed programming model

Leave a Reply

Your email address will not be published. Required fields are marked *