Today Mellanox announced a new open source software initiative to enable advanced open networking platforms such as routers, load balancers, and firewalls. A key part of the initiative is the release of the first ever software development kit: OpenNPU SDK, for the company’s most advanced network processor unit (NPU), the NPS-400. OpenNPU is made available under either GPL or BSD license to enable developers to explore, research, and innovate with true programmable packet processing at 600 million packets per seconds. The OpenNPU SDK addresses the need for open source software aimed at the increasing number of open networking platforms proliferating the market today.
The market for networking devices is undergoing a major paradigm shift, moving away from closed proprietary OEM network equipment and migrating towards open platforms that are both flexible and configurable,” said Dror Goldenberg, vice president software architecture, Mellanox Technologies. “We are in full support of this movement as evidenced by our initiative to open source the entire suite of Mellanox software for our NPS family of network processors.”
OpenNPU is part of a community-wide effort to explore and redefine the boundaries and capabilities of high speed network processors. As such, OpenNPU is open to individual contributors, academic and research institutions as well commercial organizations wishing to participate. The goal of the OpenNPU is to engage with the community to provide an environment for rapid prototyping and innovation. The OpenNPU development environment is ideal for experts in high speed line rate data plane programming, Linux kernel networking stacks, DPDK, deep packet inspection, and other advanced networking applications.
Making an open source SDK available for the NPS-400 is a natural evolution of the Mellanox NPU offering,” said Bob Wheeler, principal analyst at The Linley Group. “With its support for GNU-based tools and Linux, the NPS architecture makes programming an NPU easier and more accessible than any prior merchant product.”
In addition, Mellanox is launching a university partnership program aimed at fostering the development of open source APIs and enabling a multi-vendor ecosystem aimed at dramatically accelerating software-defined networking. As part of this program, Mellanox will provide NPS equipment and technical support to participating universities for the development of advanced technology projects.
NPS is a family of high-end network processors capable of very sophisticated packet processing functions and is programmable in C in the Linux environment. The NPS is capable of performing L2-7 packet processing and is well-tuned for router-type functions as well as more sophisticated functions like deep packet processing for intrusion protection/detection systems (IPS/IDS), application recognition, firewalling and cyber-attack prevention, and distributed denial of service (DDOS) mitigation.
OpenNPU is a complete SDK for the NPS-400 packet processor, including open source driver software, APIs, control and data path libraries, and complete toolchain to program the NPS-400 network processor. In addition, the kit also provides reference applications for switching, routing and IPSec processing. The Accelerated Linux Virtual server (LVS) is provided as an example of how the OpenNPU can be used to provide significant hardware acceleration to the Linux kernel networking stack.