Current trends in networking have expanded the role of the network interface to include complex functionality – technologies such as Secure Communications, Traffic Management and Network Storage. In parallel network line speeds have continued to increase, with Gigabit Ethernet now becoming pervasive and 10 Gigabit products easily available, as well as higher speeds. The combination of the complexity and speed has driven the need to move much of this functionality into specialised processing units in the network interface.
Many of today’s implementations are based on the use of fully programmable Network Processing Units, which are ideal for solving generic data handling tasks. This flexibility comes at a price – in silicon area, firmware development and scalability. For some applications, this flexibility is not required – although the complexity still often drives the use of fully-programmable network processors. The TCP protocol for example may require 15,000 lines of code for a standard implementation. Although complex, it’s well understood and reasonably stable, so should not need the flexibility of an NPU. CréVinn’s approach is to implement such protocols using custom hardware state machines.