Scalable architecture for 135 GBPS IPv6 lookup on FPGA (abstract only)

High-speed IP lookup remains a challenging problem in next generation routers due to the ever increasing line rate and routing table size. In addition, the evolution towards IPv6 also requires long prefix length, sparse prefix distribution, and potentially very large routing tables. In this paper, we propose a novel Combined Length-Infix Pipelined Search (CLIPS) architecture for IPv6 routing table lookup on FPGA. CLIPS solves the longest prefix match (LPM) problem by combining both prefix length and infix pattern search. Binary search in prefix length is performed on the 64-bit routing prefix of IPv6 down to an 8-bit length range in log(64/8)=3 phases; each phase performs a fully-pipelined infix pattern search with only one external memory access. A fourth and the last phase then finds the LPM (if any) within the 8-bit length range in a compressed multi-bit trie. We describe the algorithms and data structures used for the CLIPS construction, run-time operation, dynamic update and false-positive avoidance. The proposed solution improves the on-chip memory efficiency on FPGA and maximizes the external SRAM utilization; additional properties for ensuring the practicality of our scheme include the modular construction, easy dynamic update, and simple resource allocation. Using a state-of-the-art FPGA, our CLIPS prototype supports up to 2.7 millioin IPv6 prefixes when employing 33 Mbits of BRAM and 4 channels of external SRAM. The prototype achieves a sustained throughput of 264 million IPv6 lookups per second, or 135 Gbps with minimum size (64-byte) packets.

[1]  H. Jonathan Chao,et al.  FlashTrie: Hash-based Prefix-Compressed Trie for IP Route Lookup Beyond 100Gbps , 2010, 2010 Proceedings IEEE INFOCOM.

[2]  Dean M. Tullsen,et al.  A Tree Based Router Search Engine Architecture with Single Port Memories , 2005, ISCA 2005.

[3]  Haoyu Song,et al.  Shape shifting tries for faster IP route lookup , 2005, 13TH IEEE International Conference on Network Protocols (ICNP'05).

[4]  Hossein Saidi,et al.  Scalar Prefix Search: A New Route Lookup Algorithm for Next Generation Internet , 2009, IEEE INFOCOM 2009.

[5]  Viktor K. Prasanna,et al.  Scalable High Throughput and Power Efficient IP-Lookup on FPGA , 2009, 2009 17th IEEE Symposium on Field Programmable Custom Computing Machines.

[6]  Sartaj Sahni,et al.  Packet Forwarding Using Pipelined Multibit Tries , 2006, 11th IEEE Symposium on Computers and Communications (ISCC'06).

[7]  Stephan Bunse,et al.  Towards 100G packet processing: Challenges and technologies , 2009 .

[8]  Viktor K. Prasanna,et al.  High Performance IP Lookup on FPGA with Combined Length-Infix Pipelined Search , 2011, 2011 IEEE 19th Annual International Symposium on Field-Programmable Custom Computing Machines.

[9]  Mehrdad Nourani,et al.  A TCAM-Based Parallel Architecture for High-Speed Packet Forwarding , 2007, IEEE Transactions on Computers.

[10]  George Varghese,et al.  Tree bitmap: hardware/software IP lookups with incremental updates , 2004, CCRV.

[11]  Viktor K. Prasanna,et al.  High throughput and large capacity pipelined dynamic search tree on FPGA , 2010, FPGA '10.

[12]  Bernhard Plattner,et al.  Scalable high speed IP routing lookups , 1997, SIGCOMM '97.

[13]  Bernhard Plattner,et al.  Scalable high-speed prefix matching , 2001, TOCS.

[14]  Masoud Sabaei,et al.  A novel reconfigurable hardware architecture for IP address lookup , 2005, 2005 Symposium on Architectures for Networking and Communications Systems (ANCS).

[15]  Sartaj Sahni,et al.  A B-tree dynamic router-table design , 2005, IEEE Transactions on Computers.

[16]  Viktor K. Prasanna,et al.  A Memory-Balanced Linear Pipeline Architecture for Trie-based IP Lookup , 2007 .

[17]  Bin Liu,et al.  Route Table Partitioning and Load Balancing for Parallel Searching with TCAMs , 2007, 2007 IEEE International Parallel and Distributed Processing Symposium.

[18]  Sartaj Sahni,et al.  IP lookup by binary search on prefix length , 2003, Proceedings of the Eighth IEEE Symposium on Computers and Communications. ISCC 2003.

[19]  Stephen E. Deering,et al.  Non-random generator for IPv6 tables , 2004, Proceedings. 12th Annual IEEE Symposium on High Performance Interconnects.

[20]  Francis Zane,et al.  Coolcams: power-efficient TCAMs for forwarding engines , 2003, IEEE INFOCOM 2003. Twenty-second Annual Joint Conference of the IEEE Computer and Communications Societies (IEEE Cat. No.03CH37428).

[21]  Bin Liu,et al.  A TCAM-based distributed parallel IP lookup scheme and performance analysis , 2006, IEEE/ACM Transactions on Networking.