Abstract:
The architectural shift in the implementations of Network Function Virtualization (NFV) has necessitated improvements in the networking performance of commodity servers in order to meet the requirements of new generation networks. To achieve this, many fast packet processing frameworks have been proposed by academia and industry, one of them being eXpress Data Path (XDP) incorporated in the Linux kernel. XDP differentiates from other packet processing frameworks by leveraging the in-kernel facilities and running in device driver context. In this study, the XDP technology is evaluated to address the question of supporting performance needs of container-based virtual network functions in cloud architectures. Thus, a prototype consisting of a data plane powered by XDP programs and a container layer emulating the virtual network function is implemented, and used as a test-bed for throughput and CPU utilization measurements. The prototype has been tested to investigate the scalability with varying traffic loads as well as to reveal potential limitations of XDP in such a deployment. The results have shown that an XDP-based solution for accelerating the data path for virtual network functions provides sufficient throughput and scalability in a system with multi-core processor. Furthermore, the prototype has proven that the XDP-based solution has higher throughput performance than the implementation with Linux networking stack. On the other hand, the prototype has been observed to have performance limitations which are analysed in detail. Finally, future directions for further improvements are proposed.