Abstract:
Target-independent packet processing languages support diverse hardware and software targets by generalizing over the set of primitive operations (extern-functions)availa...Show MoreMetadata
Abstract:
Target-independent packet processing languages support diverse hardware and software targets by generalizing over the set of primitive operations (extern-functions)available on the target. In P4, the language specification does not specify whether the invocation of an extern function is synchronous or asynchronous - supposedly synchronous by default. However, in some use cases, it makes more sense to invoke such functions in an asynchronous way and let the thread keep processing packets while the extern operation is being performed by a dedicated resource or accelerator device. In this paper, we propose a method for transparent description and efficient implementation of asynchronous extern function calls in P4-programmable software data planes. Our DPDK - based early prototype relies on the concept of coroutines used for saving packet contexts and manual switching between them. The overhead of the proposed solution is analyzed with a packet encryption case study.
Published in: 2019 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS)
Date of Conference: 24-25 September 2019
Date Added to IEEE Xplore: 18 November 2019
ISBN Information: