Enhancing P4 Syntax to Support Extended Finite State Machines as Native Stateful Objects
Florent Allard, Tarek Ould Bachir, Yvon Savaria · 2024
The P4 language has proven to be a powerful tool for programming packet processing, but its original design did not intend to handle stateful processing effectively. This shortcoming stems from the fact that the network switches for which the language was designed have restricted memory capacities, which makes it challenging to manage complex stateful objects. As a result, P4’s syntax was not optimized for handling such objects. With contemporary networks increasingly relying on stateful processing and abstractions like Extended Finite State Machines (EFSMs), we propose extending P4’s syntax through an EFSM construct. This work aims to grant developers the ability to create streamlined and productive P4 programs that can effortlessly deal with stateful objects. This improvement holds great promise for expanding P4’s functionality and refining it to support stateful processing.