P4 to SDNet: Automatic Generation of an Efficient Protocol-Independent Packet Parser on Reconfigurable Hardware

Nowadays network managers look for ways to change the design and management of networks that can make decisions on the control plane. Future switches should be able to support the new features and flexibility required for parsing and processing packets. One of the critical components of switches is the packet parser that processes the headers of the packets to be able to decide on the incoming packets. Here the data plane, and particularly packet parser in OpenFlow switches, which should have the flexibility and programmability to support the new requirements and OpenFlow multiple versions, are focused. Designed here is an architecture that unlike the static network equipments, it has the flexibility and programmability in the data plane network, especially the SDN network, and supports the parsing and processing of specific packets. To describe this architecture, a high-level P4 language is used to implement it on a reconfigurable hardware (i.e., FPGA). After automatic generating the protocol-independent Packet parser architecture on the Virtex-7, it is compiled to firmware by Xilinx SDNet, and ultimately an FPGA Platform is implemented. It has fewer consumption resources and it is more efficient in terms of throughput and processing speed in comparison with other architectures.

[1]  Komail Shahmir Shourmasti Stochastic Switching Using OpenFlow , 2013 .

[2]  Hana Kubatova,et al.  P4-to-VHDL: Automatic Generation of 100 Gbps Packet Parsers , 2016, 2016 IEEE 24th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM).

[3]  George Varghese,et al.  Design principles for packet parsers , 2013, Architectures for Networking and Communications Systems.

[4]  Syed Faraz Hasan,et al.  Opportunistic Networking : Vehicular, D2D and Cognitive Radio Networks , 2017 .

[5]  George Varghese,et al.  Forwarding metamorphosis: fast programmable match-action processing in hardware for SDN , 2013, SIGCOMM.

[6]  George Varghese,et al.  P4: programming protocol-independent packet processors , 2013, CCRV.

[7]  Pin Lv,et al.  Control plane of software defined networks: A survey , 2015, Comput. Commun..

[8]  Huynh Tu Dang,et al.  P4FPGA: A Rapid Prototyping Framework for P4 , 2017, SOSR.

[9]  Ting Liu Implementing Open flow switch using FPGA based platform , 2014 .

[10]  J. M. Pierre Langlois,et al.  P4-Compatible High-Level Synthesis of Low Latency 100 Gb/s Streaming Packet Parsers in FPGAs , 2018, FPGA.

[11]  Gordon J. Brebner,et al.  400 Gb/s Programmable Packet Parsing on a Single FPGA , 2011, 2011 ACM/IEEE Seventh Symposium on Architectures for Networking and Communications Systems.

[12]  Sakir Sezer,et al.  Sdn Security: A Survey , 2013, 2013 IEEE SDN for Future Networks and Services (SDN4FNS).

[13]  Rajesh Gupta,et al.  Accelerating Binarized Convolutional Neural Networks with Software-Programmable FPGAs , 2017, FPGA.

[14]  Kamal Jamshidi,et al.  Efficient design and hardware implementation of the OpenFlow v1.3 Switch on the Virtex-6 FPGA ML605 , 2018, The Journal of Supercomputing.

[15]  Ali Bohlooli,et al.  Efficient CNTFET-based design of quaternary logic gates and arithmetic circuits , 2016, Microelectron. J..

[16]  Vaughn Betz,et al.  Bringing programmability to the data plane: Packet processing with a NoC-enhanced FPGA , 2015, 2015 International Conference on Field Programmable Technology (FPT).

[17]  Jim Esch,et al.  Software-Defined Networking: A Comprehensive Survey , 2015, Proc. IEEE.

[18]  Anna Brunstrom,et al.  SDN/NFV-Based Mobile Packet Core Network Architectures: A Survey , 2017, IEEE Communications Surveys & Tutorials.