Abstract

Emerging programmable data planes enable us to modify switch behavior using software abstractions. However, developing the data plane software is challenging and typically made in a monolithic manner. We argue that the data plane should be developed modularly and employ additional abstractions to compose data plane programs and steer packets between them. This article presents Programming In-Network Modular Extensions (PRIME), a mechanism to compose data plane program modules and define how to steer traffic through these modules. Additionally, the system employs techniques to ensure that updating the steering configuration is consistent according to end-to-end forwarding guarantees. We deployed use cases with existing P4 programs on BMv2, and the results show that PRIME can compose programs with small overheads in terms of latency, the number of forwarding tables, and parser states.

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.