SRPerf: a Performance Evaluation Framework for IPv6 Segment Routing

Segment Routing is a form of loose source routing. It provides the ability to include a list of instructions (called segments), in the packet headers. The Segment Routing architecture has been first implemented with the MPLS dataplane and then, quite recently, with the IPv6 dataplane (SRv6). IPv6 Segment Routing (SRv6) is a promising solution to support advanced services such as Traffic Engineering, Service Function Chaining, Virtual Private Networks, and Load Balancing. The SRv6 data-plane is supported in many different software forwarding engines including the Linux kernel and VPP software router, as well as in hardware devices. In this paper, we present SRPerf, a performance evaluation framework for software and hardware implementations of SRv6. SRPerf is able to perform different benchmarking tests such as throughput and latency. For throughput tests, we use the Partial Drop Rate (PDR) to characterize a system under test. The architecture of SRPerf can be easily extended to support new benchmarking methodologies as well as different SRv6 implementations. We have used SRPerf to evaluate the performance of the SRv6 implementation in the Linux kernel and in VPP. SRPerf is a valuable tool in the context of software forwarding engines where new features can be added at fast pace, as it helps experimenters to validate their work. In particular, we describe how we have leveraged SRPerf to validate the implementation of some SRv6 behaviors that were missing or wrongly implemented in the Linux kernel mainline.

[1]  Ioannis Lambadaris,et al.  Characterizing the Performance of Concurrent Virtualized Network Functions with OVS-DPDK, FD.IO VPP and SR-IOV , 2018, ICPE.

[2]  Imtiaz Ahmad,et al.  Segment Routing in Software Defined Networks: A Survey , 2019, IEEE Communications Surveys & Tutorials.

[3]  Clarence Filsfils,et al.  Resiliency Use Cases in Source Packet Routing in Networking (SPRING) Networks , 2018, RFC.

[4]  Stephen E. Deering,et al.  Internet Protocol, Version 6 (IPv6) Specification , 1995, RFC.

[5]  Leonardo Linguaglossa,et al.  Batched packet processing for high-speed software data plane functions , 2018, IEEE INFOCOM 2018 - IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS).

[6]  Bruno Baynat,et al.  An Accurate and Efficient Modeling Framework for the Performance Evaluation of DPDK-Based Virtual Switches , 2018, IEEE Transactions on Network and Service Management.

[7]  Xiaohu Xu,et al.  Service Programming with Segment Routing , 2019 .

[8]  Stefano Salsano,et al.  SERA: SEgment Routing Aware Firewall for Service Function Chaining scenarios , 2018, 2018 IFIP Networking Conference (IFIP Networking) and Workshops.

[9]  W. Marsden I and J , 2012 .

[10]  Kevin Barraclough,et al.  I and i , 2001, BMJ : British Medical Journal.

[11]  Hitoshi Kuwata,et al.  Performance Evaluation of GTP-U and SRv6 Stateless Translation , 2019, 2019 15th International Conference on Network and Service Management (CNSM).

[12]  Jürgen Schönwälder,et al.  Network Configuration Protocol (NETCONF) , 2011, RFC.

[13]  Marco Listanti,et al.  Translating Traffic Engineering outcome into Segment Routing paths: The Encoding problem , 2016, 2016 IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS).

[14]  Stefano Salsano,et al.  Performance of IPv6 Segment Routing in Linux Kernel , 2018, 2018 14th International Conference on Network and Service Management (CNSM).

[15]  Clarence Filsfils,et al.  SRv6 Implementation and Deployment Status , 2000 .

[16]  Clarence Filsfils,et al.  IPv6 Segment Routing Header (SRH) , 2020, RFC.

[17]  Clarence Filsfils,et al.  Segment Routing IPv6 for Mobile User Plane , 2019 .

[18]  Clarence Filsfils,et al.  Use Cases for IPv6 Source Packet Routing in Networking (SPRING) , 2018, RFC.

[19]  Scott O. Bradner,et al.  Benchmarking Terminology for Network Interconnection Devices , 1991, RFC.

[20]  Clarence Filsfils,et al.  Source Packet Routing in Networking (SPRING) Problem Statement and Requirements , 2016, RFC.

[21]  Stefano Salsano,et al.  Segment Routing: A Comprehensive Survey of Research Activities, Standardization Efforts, and Implementation Results , 2019, IEEE Communications Surveys & Tutorials.

[22]  Luca Veltri,et al.  Implementation of virtual network function chaining through segment routing in a linux-based NFV infrastructure , 2017, 2017 IEEE Conference on Network Softwarization (NetSoft).

[23]  Clarence Filsfils,et al.  SRv6 Network Programming , 2020 .

[24]  Ioannis Lambadaris,et al.  Multi-VNF performance characterization for virtualized network functions , 2017, 2017 IEEE Conference on Network Softwarization (NetSoft).

[25]  Luca Veltri,et al.  Traffic Engineering with Segment Routing: SDN-Based Architectural Design and Open Source Implementation , 2015, 2015 Fourth European Workshop on Software Defined Networks.

[26]  Jon Mitchell,et al.  Use of BGP for Routing in Large-Scale Data Centers , 2016, RFC.

[27]  Stefano Salsano,et al.  An Efficient Linux Kernel Implementation of Service Function Chaining for Legacy VNFs Based on IPv6 Segment Routing , 2019, 2019 IEEE Conference on Network Softwarization (NetSoft).

[28]  Maciek Konstantynowicz,et al.  Multiple Loss Ratio Search for Packet Throughput (MLRsearch) , 2018 .

[29]  Olivier Bonaventure,et al.  Implementing IPv6 Segment Routing in the Linux Kernel , 2017, ANRW.

[30]  Kuang-Ching Wang,et al.  The Design and Operation of CloudLab , 2019, USENIX ATC.

[31]  Zhenbin Li,et al.  SRv6 NET-PGM extension: Insertion , 2020 .

[32]  Suresh Krishnan,et al.  Link-Layer Event Notifications for Detecting Network Attachments , 2007, RFC.

[33]  Scott O. Bradner,et al.  Benchmarking Methodology for Network Interconnect Devices , 1999, RFC.

[34]  David Lebrun Reaping the benefits of IPv6 segment routing , 2017 .

[35]  Julije Ozegovic,et al.  Throughput Evaluation of Kernel based Packet Switching in a Multi-core System , 2019, 2019 International Conference on Software, Telecommunications and Computer Networks (SoftCOM).

[36]  Clarence Filsfils,et al.  The Segment Routing Architecture , 2014, 2015 IEEE Global Communications Conference (GLOBECOM).

[37]  Clarence Filsfils,et al.  Segment Routing Architecture , 2018, RFC.