Have an account?

  •   Personalized content
  •   Your products and support

Need an account?

Create an account

Cisco Nexus FDK Data Sheet

Data Sheet

Available Languages

Download Options

  • PDF
    (373.1 KB)
    View with Adobe Reader on a variety of devices
Updated:January 25, 2021

Available Languages

Download Options

  • PDF
    (373.1 KB)
    View with Adobe Reader on a variety of devices
Updated:January 25, 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 switches. The framework lowers the barrier to utilizing FPGAbased 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 network switch.

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-F Fusion Switches

     Nexus 3550-T Triton Switches

     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-F Fusion, 3550-T Triton, and SmartNICs.

The Nexus FDK on Nexus 3550-F 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 model.

Table 1.           Capabilities of Nexus FDK models

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.

Cisco environmental sustainability

Information about Cisco’s environmental sustainability policies and initiatives for our products, solutions, operations, and extended operations or supply chain is provided in the “Environment Sustainability” section of Cisco’s Corporate Social Responsibility (CSR) Report.

Reference links to information about key environmental sustainability topics (mentioned in the “Environment Sustainability” section of the CSR Report) are provided in the following table:

Sustainability topic

Reference

Information on product material content laws and regulations

Materials

Information on electronic waste laws and regulations, including products, batteries, and packaging

WEEE compliance

Cisco makes the packaging data available for informational purposes only. It may not reflect the most current legal developments, and Cisco does not represent, warrant, or guarantee that it is complete, accurate, or up to date. This information is subject to change without notice.

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