High-performance architecture for flow-table lookup in SDN on FPGA


We propose range-based ternary search tree (RTST), a tree-based approach for flow-table lookup in SDN. RTST builds upon flow-tables in SDN switches to provide a fast lookup among flows. We present a parallel multi-pipeline architecture for implementing RTST that benefits from high throughput and low latency. The proposed RTST and architecture achieve a memory efficiency of 1 byte of memory for each byte of flow. We also present a set of techniques to support dynamic updates. Experimental results reveal that RTST can be used to improve the performance of flow-lookup. It achieves a throughput of 670 million packets per second (MPPS), for a 1K 15-tuple flow-table, on a state-of-the-art FPGA (Virtex 6 XC6VLX760).

This is a preview of subscription content, log in to check access.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11


  1. 1.

    Wang H, Qian C, Yu Y, Yang H, Lam SS, Wang H, Qian C, Yu Y, Yang H, Lam SS (2017) Practical network-wide packet behavior identification by AP classifier. IEEE/ACM Trans Netw (TON) 25(5):2886–2899

    Article  Google Scholar 

  2. 2.

    McKeown N, Anderson T, Balakrishnan H, Parulkar G, Peterson L, Rexford J, Shenker S, Turner J (2008) Openflow: enabling innovation in campus networks. ACM SIGCOMM Comput Commun Rev 38(2):69–74

    Article  Google Scholar 

  3. 3.

    OpenFlow Switch Specification V1.3.1. https://www.opennetworking.org/images/stories/downloads/sdn-resources/onspecifications/openflow/openflow-spec-v1.3.1.pdf

  4. 4.

    Chang S-H, Mao-Sheng H (2017) A novel software-defined wireless network architecture to improve ship area network performance. J Supercomput 73(7):3149–3160

    Article  Google Scholar 

  5. 5.

    Kang S, Yoon W (2016) SDN-based resource allocation for heterogeneous LTE and WLAN multi-radio networks. J Supercomput 72(4):1342–1362

    Article  Google Scholar 

  6. 6.

    Tu R, Wang X, Yang Y (2014) Energy-saving model for SDN data centers. J Supercomput 70(3):1477–1495

    Article  Google Scholar 

  7. 7.

    Reitblatt M, Canini M, Guha A, Foster N (2013) Fattire: declarative fault tolerance for software-defined networks. In: Proceedings of the Second ACM SIGCOMM Workshop on Hot Topics in Software Defined Networking, HotSDN ’13, (New York, NY, USA), ACM, pp 109–114

  8. 8.

    Yu F, Katz RH, Lakshman T (2005) Efficient multimatch packet classification and lookup with TCAM. Micro IEEE 25(1):50–59

    Article  Google Scholar 

  9. 9.

    Lakshminarayanan K, Rangarajan A, Venkatachary S (2005) Algorithms for advanced packet classification with ternary CAMs. ACM SIGCOMM Comput Commun Rev 35(4):193–204

    Article  Google Scholar 

  10. 10.

    Vamanan B, Vijaykumar TN (2011) Treecam: decoupling updates and lookups in packet classification. In: Proceedings of the Seventh Conference on Emerging Networking Experiments and Technologies, CoNEXT ’11, (New York, NY, USA), ACM, pp 27:1–27:12

  11. 11.

    Zhou S, Qu Y, Prasanna V (2014) Multi-core implementation of decomposition-based packet classification algorithms. J Supercomput 69(1):34–42

    Article  Google Scholar 

  12. 12.

    Qu YR, Prasanna VK (2016) High-performance and dynamically updatable packet classification engine on FPGA. IEEE Trans Parallel Distrib Syst 27:197–209

    Article  Google Scholar 

  13. 13.

    Jiang W, Prasanna VK (2009) Field-split parallel architecture for high performance multi-match packet classification using FPGAs. In: Proceedings of the Twenty-First Annual Symposium on Parallelism in Algorithms and Architectures, SPAA ’09, (New York, NY, USA), ACM, pp 188–196

  14. 14.

    Ganegedara T, Prasanna VK (2012) StrideBV: single chip 400G+ packet classification. In: 2012 IEEE 13th International Conference on High Performance Switching and Routing, pp 1–6

  15. 15.

    Gupta P, McKeown N (2000) Classifying packets with hierarchical intelligent cuttings. IEEE Micro 20:34–41

    Article  Google Scholar 

  16. 16.

    Singh S, Baboescu F, Varghese G, Wang J (2003) Packet classification using multidimensional cutting. In: Proceedings of the 2003 Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications, SIGCOMM ’03, (New York, NY, USA), ACM, pp 213–224

  17. 17.

    Jiang W, Prasanna VK (2012) Scalable packet classification on FPGA. IEEE Trans Very Large Scale Integr (VLSI) Syst 20(9):1668–1680

    Article  Google Scholar 

  18. 18.

    Le H, Prasanna VK (2012) Scalable tree-based architectures for IPv4/v6 lookup using prefix partitioning. IEEE Trans Comput 61(7):1026–1039

    MathSciNet  Article  MATH  Google Scholar 

  19. 19.

    Meiners CR, Liu AX, Torng E (2007) TCAM Razor: a systematic approach towards minimizing packet classifiers in TCAMs. In: 2007 IEEE International Conference on Network Protocols, pp 266–275

  20. 20.

    Dong X, Qian M, Jiang R (2018) Packet classification based on the decision tree with information entropy. J Supercomput, 1–15

  21. 21.

    Jin X, Liu HH, Gandhi R, Kandula S, Mahajan R, Zhang M, Rexford J, Wattenhofer R (2014) Dynamic scheduling of network updates. In: Proceedings of the 2014 ACM Conference on SIGCOMM, SIGCOMM ’14, (New York, NY, USA), ACM, pp 539–550

  22. 22.

    Thapliyal H, Jayashree H, Nagamani A, Arabnia HR (2013) Progress in reversible processor design: a novel methodology for reversible carry look-ahead adder. In: Transactions on Computational Science XVII, Springer, pp 73–97

  23. 23.

    Arabnia HR, Oliver MA (1986) Fast operations on raster images with SIMD machine architectures. In: Computer graphics forum, vol 5. Wiley, New York, pp 179–188

  24. 24.

    Arabnia HR, Taha TR (1998) A parallel numerical algorithm on a reconfigurable multi-ring network. Telecommun Syst 10(1–2):185–202

    Article  Google Scholar 

  25. 25.

    Yang MQ, Athey BD, Arabnia HR, Sung AH, Liu Q, Yang JY, Mao J, Deng Y (2009) High-throughput next-generation sequencing technologies foster new cutting-edge computing techniques in bioinformatics. BMC Genom 10(S1):I1

    Article  Google Scholar 

  26. 26.

    Bonesana I, Paolieri M, Santambrogio MD (2008) An adaptable FPGA-based system for regular expression matching. In: 2008 Design, Automation and Test in Europe, pp 1262–1267

  27. 27.

    Frigerio L, Marks K, Krikelis A (2010) Timed coloured petri nets for performance evaluation of DSP applications: the 3GPP LTE case study. In: Piguet C, Reis R, Soudris D (eds) VLSI-SoC: design methodologies for SoC and SiP. Springer, Berlin, pp 114–132

    Google Scholar 

  28. 28.

    Basu A, Narlikar G (2005) Fast incremental updates for pipelined forwarding engines. IEEE/ACM Trans Netw (TON) 13(3):690–703

    Article  Google Scholar 

  29. 29.

    Virtex-6 FPGA family. http://www.xilinx.com/products/virtex6

  30. 30.

    Zane F, Narlikar G, Basu A (2003) CoolCAMs: power-efficient TCAMs for forwarding engines. Proc IEEE INFOCOM 1:42–52

    Google Scholar 

  31. 31.

    Jiang W, Prasanna VK (2009) Large-scale wire-speed packet classification on FPGAs. In: Proceedings of the ACM/SIGDA International Symposium on Field Programmable Gate Arrays, FPGA ’09, (New York, NY, USA), ACM, pp 219–228

Download references

Author information



Corresponding author

Correspondence to Hossein Bahramgiri.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Hatami, R., Bahramgiri, H. High-performance architecture for flow-table lookup in SDN on FPGA. J Supercomput 75, 384–399 (2019). https://doi.org/10.1007/s11227-018-02732-2

Download citation


  • Software-defined networking (SDN)
  • Flow-table
  • Range-based ternary search tree (RTST)
  • Field-programmable gate array (FPGA)
  • Pipeline architecture