{"title":"SRA: Leveraging AF_XDP for Programmable Network Functions with IPv6 Segment Routing","authors":"Baosen Zhao, Yifang Qin, Wanghong Yang, Pengfei Fan, Xu Zhou","doi":"10.1109/LCN53696.2022.9843244","DOIUrl":null,"url":null,"abstract":"The IPv6 Segment Routing (SRv6) is a promising solution to support services such as service function chain (SFC) and network function virtualization (NFV). But the SRv6 implementation in the Linux kernel is being criticized for lack of programmability and scalability. In this paper, we present an efficient implementation of the SRv6 data plane based on AF_XDP (SRA) in userspace. By leveraging the AF_XDP supported in the Linux kernel, we implement a high-performance and programmable framework that allows network operators to encode their own network functions. Moreover, these functions can automatically execute in userspace and Linux network namespaces while processing specific packets. In addition, SRA also implements SR-proxy to support the Virtual Network Functions (VNFs) chaining based on SRv6. Experimental results show that SRA achieves high performance and enhances integration with the kernel ecosystem. In all scenarios, SRA processes faster than other implementations, such as the SRv6 implementation in the Linux kernel and SREXT module, and in some scenarios, SRA is even 10 times faster than the SRv6 implementation in the Linux kernel. Meanwhile, the proposed architecture can be easily extended to support new SRv6 behaviors and network functions.","PeriodicalId":303965,"journal":{"name":"2022 IEEE 47th Conference on Local Computer Networks (LCN)","volume":"27 12","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-09-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2022 IEEE 47th Conference on Local Computer Networks (LCN)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/LCN53696.2022.9843244","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2
Abstract
The IPv6 Segment Routing (SRv6) is a promising solution to support services such as service function chain (SFC) and network function virtualization (NFV). But the SRv6 implementation in the Linux kernel is being criticized for lack of programmability and scalability. In this paper, we present an efficient implementation of the SRv6 data plane based on AF_XDP (SRA) in userspace. By leveraging the AF_XDP supported in the Linux kernel, we implement a high-performance and programmable framework that allows network operators to encode their own network functions. Moreover, these functions can automatically execute in userspace and Linux network namespaces while processing specific packets. In addition, SRA also implements SR-proxy to support the Virtual Network Functions (VNFs) chaining based on SRv6. Experimental results show that SRA achieves high performance and enhances integration with the kernel ecosystem. In all scenarios, SRA processes faster than other implementations, such as the SRv6 implementation in the Linux kernel and SREXT module, and in some scenarios, SRA is even 10 times faster than the SRv6 implementation in the Linux kernel. Meanwhile, the proposed architecture can be easily extended to support new SRv6 behaviors and network functions.