Design principles for packet parsers

  • Authors:
  • Glen Gibb;George Varghese;Mark Horowitz;Nick McKeown

  • Affiliations:
  • Stanford University, Stanford, USA;Microsoft Research, Mountain View, USA;Stanford University, Stanford, USA;Stanford University, Stanford, USA

  • Venue:
  • ANCS '13 Proceedings of the ninth ACM/IEEE symposium on Architectures for networking and communications systems
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

All network devices must parse packet headers to decide how packets should be processed. A 64 x 10Gb/s Ethernet switch must parse one billion packets per second to extract fields used in forwarding decisions. Although a necessary part of all switch hardware, very little has been written on parser design and the trade-offs between different designs. Is it better to design one fast parser, or several slow parsers? What is the cost of making the parser reconfigurable in the field? What design decisions most impact power and area? In this paper, we describe trade-offs in parser design, identify design principles for switch and router designers, and describe a parser generator that outputs synthesizable Verilog that is available for download. We show that i) packet parsers today occupy about 1-2% of the chip, and ii) while future packet parsers will need to be programmable, this only doubles the (already small) area needed.