Use of Cuckoo Filters with FD.io VPP for Sofware IPv6 Routing Lookup Minseok Kwon Rochester Institute of Technology jmk@cs.rit.edu Shailesh Vajpayee, Pragash Vijayaragavan, Arjun Dhuliya Rochester Institute of Technology {srv6224,pxv3620,amd5300}@rit.edu John Marshall Cisco Systems, Inc. jwm@cisco.com ABSTRACT The flter technologies, e.g., Bloom flters, have been used for IP lookup for their compactness and efciency. We investigate the per- formance of cuckoo flters with Cisco’s VPP (Vector Packet Process- ing) for IP lookup. We also introduce a variant called a length-aware cuckoo flter that treats incoming IP addresses discriminatively, and study its performance with VPP. As proof-of-concept, we imple- ment cuckoo flters with VPP, and test them on both functions and performance with focus on the ip6-input node in VPP. CCS CONCEPTS · Networks Network algorithms; Data path algorithms; Packet classifcation; KEYWORDS IP lookup, cuckoo flters, packet forwarding, software routers ACM Reference format: Minseok Kwon, Shailesh Vajpayee, Pragash Vijayaragavan, Arjun Dhuliya, and John Marshall. 2017. Use of Cuckoo Filters with FD.io VPP for Software IPv6 Routing Lookup. In Proceedings of ACM SIGCOMM, Los Angeles, CA USA, August 2017, 3 pages. https://doi.org/10.1145/nnnnnnn.nnnnnnn 1 INTRODUCTION For IP lookup, hashing with network prefxes as keys has widely been used at network routers due to its extremely short search time. With classless addressing, the challenge lies with fnding the longest matching prefx. Tries [4] and flters, e.g., Bloom flters [3], have been adopted to tackle these challenges. Recently, tries using tree bitmap [2] have gained attention as they reduce search time with simple bitwise operations, whereas flters require hashing, which includes several bitwise operations, for multiple prefxes. The flters are, however, tiny enough to ft in on-chip memory with small memory footprint, and they allow parallel prefx matching with easy table updates. Another related technique is Cisco’s VPP, Vector Packet Processing [8], which processes a group of packets together instead of individually to utilize CPU instruction cache maximally to speed up the lookup. With the emergence of these new techniques, one yet unanswered question is how the lookup Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for proft or commercial advantage and that copies bear this notice and the full citation on the frst page. Copyrights for third-party components of this work must be honored. For all other uses, contact the owner/author(s). ACM SIGCOMM, August 2017, Los Angeles, CA USA © 2017 Copyright held by the owner/author(s). ACM ISBN 123-4567-24-567/08/06. . . $15.00 https://doi.org/10.1145/nnnnnnn.nnnnnnn algorithms behave with VPP, more interestingly, in programmable routers. We focus on the flter techniques and their performance with VPP. A cuckoo flter (CF) [7] provides set-membership testing based on cuckoo hashing with low space requirement and false positive rates [7]. We also propose a modifed cuckoo flter named a length- aware cuckoo flter, LACF in short, that uses network prefx length and its popularity to insert prefxes discriminatively [9]. The LACF can further reduce false positive rates, enabling faster IP lookup without additional storage requirement. We implement both the CF and LACF using the VPP library that runs on Intel’s DPDK (Data Plane Development Kit) adopted by FD.io (Fast data - Input/Output) [8]. Our system is 100% software-based, fexible, and programmable, making it easy to change the forwarding logic, but is still fast and high-throughput. We are in the process of testing and evaluating their performance on a simple network topology where one Cisco UCS server that generates packets is connected to another that serves as a router via 80Gbps Ethernet. Each server has Intel Xeon E5-2640 v4 @ 2.40GHz, 10-core with Hyper-Threading, 64GB RAM, 1TB SSD, 40GE NICs, and Intel DKDP-installed. This is the frst attempt to integrate cuckoo flters with VPP. We will compare cuckoo flters plus VPP with trie-based technologies, e.g., Poptrie [2], for IP lookup with respect to lookup and update time, and memory usage. We also plan to investigate use of VPP with P4 [6] for truly high-throughput software routers with user programmability. 2 ARCHITECTURE AND IMPLEMENTATION IP Routing Table ethr-input mpls-input IPv4-input IPv6-input dpdk-input Packet Processing Graph Vector packet1 packet2 packet3 packet4 packet5 packet6 packet7 packet8 packet9 Vector Vector On-Chip Memory Filter Off-Chip Memory 3-4 prefixes All prefixes Next Hop Figure 1: Architecture of the lookup engine with the flter and VPP technologies. Figure 1 gives a high-level view of our lookup engine with the flter and VPP technologies. A vector of packets are frst passed to the packet processing graph that identifes which packets they are, e.g., IPv6 or MPLS, and then processes the packets accordingly. If a packet turns out to be IPv6 (since our focus is on IPv6), the packet is sent to the flter, either CF or LACF, for extracting and testing