Cisco Nexus FDK Data Sheet

Data Sheet

Available Languages

Download Options

  • PDF
    (359.1 KB)
    View with Adobe Reader on a variety of devices
Updated:July 9, 2021

Bias-Free Language

The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.

Available Languages

Download Options

  • PDF
    (359.1 KB)
    View with Adobe Reader on a variety of devices
Updated:July 9, 2021
 

 

Cisco’s intelligent development framework for Field-Programmable Gate Array (FPGA)

The Cisco Nexus® FDK (Firmware Development Kit) is a powerful development framework for adding application-specific intelligence to FPGA-based Cisco Nexus SmartNICs and compatible Cisco Nexus 3550 Programmable Platforms. The framework lowers the barrier to utilizing FPGA based devices for custom network offload and acceleration applications. Users no longer have to start with a blank FPGA development card and electronic schematic, instead users can start with a cost-effective, production-quality, fully supported Cisco Nexus SmartNIC and Cisco Nexus 3550 Programmable Platforms.

Cisco Nexus SmartNICs can be installed in any server and managed and operated with industry standard system administration tools and processes. All the hard work of building and maintaining standard-compliant PCIe and Ethernet interfaces, Linux drivers, and tools are handled and supported by Cisco. Users can add intelligent network application acceleration into our FPGA-base devices, leveraging the well-defined and documented Cisco Nexus FDK framework to leverage the power of FPGAs while maintaining all the benefits of operating and administrating a standard network adapter. Use cases include deep packet inspection, advanced packet filtering, full line-rate packet processing, AI/ML acceleration, 5G processing, and many more.

Components of Cisco Nexus FDK

The Cisco Nexus FDK is shipped as a complete package with everything needed to build, run, and maintain FPGA-accelerated network applications. The Cisco Nexus FDK includes:

      PCS/MAC component for interfacing Ethernet networks to FPGA logic

      PCIe engine for interfacing the FPGA logic to a host X86 CPU

      Linux network driver for seamless network integration

      Linux kernel bypass drivers, libraries, tools, and examples for high-performance software

      Makefile-based build system for easy generation of new images

      Image flashing and hot-reloading tool to load images onto devices with minimal disruption

      Complete documentation for all of these components

These components are illustrated in Figure 1.

Components of the Nexus FDK

Figure 1.            

Components of the Nexus FDK

Cisco Nexus Platform Support

The Cisco Nexus FDK is supported on the following Cisco platforms.

      Nexus 3550-T Programmable Network Platform

      Nexus 3550-F Programmable Layer 2 Application Platform

      Nexus SmartNICs

The Nexus FDK is fully integrated with Cisco’s existing libexanic and exaSOCK software libraries. These libraries provide direct access to network drivers and kernel bypass sockets that allow users to progressively offload software functionality onto the FPGA, providing a clear and maintainable path toward FPGA network acceleration.

Software Support for Cisco Nexus SmartNICs

The Nexus FDK is fully integrated with Cisco’s existing libexanic and ExaSOCK libraries. These libraries provide ultra-low-latency kernel bypass capability networking for Nexus SmartNIC adapters. Libexanic provides direct control over transmit-and-receive buffers. ExaSOCK provides extension APIs to allow custom applications to pre-prepare and pre-load Transmission Control Protocol (TCP) segments into Nexus SmartNIC transmit buffers. Like the Cisco platform support just described, the libexanic and ExaSOCK libraries provide direct access to network drivers and kernel bypass sockets that allow users to progressively offload software functionality onto FPGA, providing a clear and maintainable path toward FPGA network acceleration. Refer to the libexanic usage and exaSOCK usage page for more information on how to use.

Ease of onboarding

Cisco provides a number of sample applications and support to make it easy for customers to implement the Nexus FDK on the Nexus 3550-T Programmable Network Platform, Nexus 3550-F Programmable Layer 2 Application Platform, and Nexus SmartNICs.

The Nexus FDK on Nexus 3550 Programmable Platform sample applications include:

      Loopback example – implements a loopback application, where the received packets on a particular port are looped back out of the same port

      Trigger example – shows how to pre-load ExaLINK Fusion with a reply ahead of time, and send it based on a simple mask/pattern match over received frames

The Nexus FDK on Nexus SmartNIC sample applications include:

      Trigger example – shows how to pre-load the card with a reply ahead of time, and send it based on a simple mask/pattern match over received frames

      Ping example – demonstrates various functions, including sending frames directly from the card, making use of hardware timestamping, and using custom frames to communicate with software

      Steering example – demonstrates how to perform user-defined flow steering. A simple destination IP-based flow steering example is provided, which can easily be modified to perform steering based on application layer information

      Bridging example – demonstrates how to bridge two ports together, such that traffic received on one port is transmitted out of another

      Soft responder example – assists with one method of benchmarking the MAC latency of the ExaNIC. This example simply sends a response packet on receipt of the first byte off the wire

      Native loopback example – forwards received packets out a different port, including clock domain crossing from RX to TX and buffering

      Chipscope example – allows users to easily see relevant signals in chipscope, making performance measurement and debugging easy

      Multi-preload TX example – allows the user to preload frames into the memory of the FPGA and then send them out to several ports simultaneously in response to a single register write

      Native register example – a minimal example of how to use the PCI register interface

      Native spam example – implements a simple packet generator

      Extra BARs example – demonstrates how to use the additional register/memory spaces at BAR1/BAR4

Nexus FDK packaging

Nexus FDK comes in two packages: FDK-FE (free edition) and FDK-PE (professional edition). Table 1 illustrates the capabilities of each Nexus FDK package.

Table 1.        Capabilities of Nexus FDK package

Component

FDK-FE (free)

FDK-PE (paid)

PCS/MAC

Yes (low latency)

FastMac V5P NIC (X25/100/9p planned)

PCIe DMA

Yes (low latency)

Yes (ultra-low latency)

Drives

Yes

Yes

Tools

Yes

Yes

Timestamping

Yes

Yes

ATE

No

Yes (V5P)

Nexus FDK licensing

The Nexus FDK is available in three different versions:

      Full version – fully licensed version with the complete feature set of Nexus FDK

      Evaluation version – Limited to two hours of use to evaluate the full version on a test system. After two hours of operation, the SmartNIC will shut down and can only be reset by rebooting the host.

      Free version – No time limit restrictions; does not include latency optimization capabilities. The free version is not recommended for ultra-low-latency applications.

Product sustainability

Information about Cisco’s Environmental, Social, and Governance (ESG) initiatives and performance is provided in Cisco’s CSR and sustainability reporting.

Cisco Capital

Flexible payment solutions to help you achieve your objectives

Cisco Capital® financing makes it easier to get the right technology to achieve your objectives, enable business transformation, and help you stay competitive. We can help you reduce total cost of ownership, conserve capital, and accelerate growth. In more than 100 countries, our flexible payment solutions can help you acquire hardware, software, services, and complementary third-party equipment in easy, predictable payments. Learn more.

 

 

 

Our experts recommend

Learn more