By David Le Goff – 6WIND Product Marketing Manager
Until recently, network appliances targeted for both carrier and enterprise applications were designed around specific hardware platforms. To ensure maximum performance and optimum functionality, the appliance software was configured and optimized for a one-time combination of processor, NIC, memory and board, typically single-sourced from unique suppliers. This approach requires the investment of significant engineering expertise to bring to market what is essentially a one-off design with less-than-ideal potential for reuse.
The limitations of such a design become apparent as soon as there is a need to migrate the product to a new processor architecture, typically done to achieve higher performance or to leverage new on-chip features. The problem is far worse when it’s time to move to a completely new system-level architecture such as a virtual network appliance for use in a Software-Defined Network (SDN) environment such as a cloud data center.
Within the 6WINDGate™ packet processing software, this problem is addressed via a unique hardware abstraction layer (HAL), called the Fast Path Networking SDK (FPN-SDK). The FPN-SDK enables customers to focus on their core application software rather than spending time on complex, low-level hardware-specific optimizations, so that they minimize their time-to-market while focusing on true value-added differentiation.
More than a basic abstraction layer, the FPN-SDK provides high-performance optimizations that leverage specific features of the underlying processor platform, while retaining full API compatibility with the 6WINDGate packet processing protocols. While it is an independent module from an architecture perspective, it delivers one of the core benefits of the 6WINDGate technology, providing customer with the assurance their applications will fully exploit the performance features of whichever processor they select. In many cases, OEMs leverage the FPN-SDK architecture to deploy their applications over multiple architectures within their product portfolio, while maintaining a single core base themselves.
Figure 1: 6WINDGate FPN-SDK
In summary, the 6WINDGate FPN-SDK provides the following benefits:
- A simple and unique packet management API. While each SoC (e.g. Broadcom XLP, Cavium Octeon, Intel, etc.) has its own representation for the networking packets in memory, the 6WIND FPN-SDK module provides a unique API to manage these packets while hiding the complexity of tuning the alignments, the buffer sizes, the memory pages and/or the cache optimization to achieve high networking performance.
- A unique crypto support API that manages multiple crypto engines while ensuring that specific crypto engines are fully leveraged to deliver the maximum possible performance within the constraints of the packet representation. The FPN-SDK supports both synchronous and asynchronous crypto modes.
- A ready-to-use hardware environment, hiding the complex initialization processes for multiple multicore architectures.
- A complete timer and clock time environment.
The 6WINDGate FPN-SDK represents the industry’s leading packet processing HAL, in terms of features, portability and performance, while presenting a straightforward API to the networking software. Thanks to these benefits, 6WINDGate users worldwide have reduced their system development time by many months while focusing their development resources on their own, unique value-added application software. The FPN-SDK architecture ensures that applications developed for one networking platform can be quickly and efficiently migrated to another, in line with the user’s product roadmap and portfolio plans.