Software

Link™ Capture Software 12.5 Release Summary

Platform
Napatech SmartNIC
Content Type
Release Summary
Capture Software Version
Link™ Capture Software 12.5

Software APIs

These software APIs are included:

  • NTAPI (Napatech application programming interface)

    Napatech application programming interface is a stream-based, packet- or segment-based zero-copy API. User space libraries are included in binary, and the kernel space driver is included as open source (GPL-compliant).

  • NTPL (Napatech programming language)

    Napatech programming language is a highly efficient interface, which optimizes the use of the FPGA resources. In the Link™ Capture Software 12.5 release these functions are supported:

    • Dynamic packet descriptors
    • Filtering
    • Stateful flow management (only applies to NT200A02 running on the 2 × 40 Gbit/s FM image or on the 8 × 10 Gbit/s FM image, and to NT100A01 running on the 4 × 25/10 Gbit/s FM1 image or on the 4 × 10/1 Gbit/s FM1 image)
    • Slicing
    • Hash key definition
    • Multi-CPU distribution
    • Correlation key (does not apply to NT200A01 running at 2 × 100 Gbit/s)
    • Deduplication (does not apply to NT200A01 running at 2 × 100 Gbit/s nor 2 × 25 Gbit/s, to NT100E3-1-PTP, to NT40E3-4-PTP running on the capture/replay image nor to NT40A01 running on the 4 × 10/1 Gbit/s SLB image)
    • Local retransmission (does not apply to NT200A01 running at 2 × 100 Gbit/s)
    • IP fragment handling (does not apply to NT200A01 running at 2 × 100 Gbit/s)
  • libpcap

    A libpcap source library is available for integration of libpcap applications.

  • WinPcap

    A WinPcap source library is available for integration of WinPcap applications.

Tools

The Link™ Capture Software 12.5 release includes a tools package with a number of binary tools that demonstrate the SmartNIC functionality. These tools are included:

  • adapterinfo (displays information about the SmartNIC)
  • capfileconvert (converts captured files to or from Napatech Link™ Capture Software format)
  • capfiledump (dumps a Napatech Link™ Capture Software capture file in humanly readable format)
  • capture (captures data to disk)
  • config (configures links, time stamp values and sensor alarm levels)
  • diagnostics (perform diagnostics on a SmartNIC)
  • latency (not used)
  • monitoring (queries the system port statistics)
  • nimconfig (reads/writes values from/to the memory of network interface modules)
  • ntinfo (collects information about the host buffer utilization once per second, and creates a host buffer utilization report)
  • ntlog (reads out the driver log)
  • ntpcap_capture (captures data received from a PCAP interface and stores it to disc in true PCAP file format.)
  • ntpcap_replay (replays any captured PCAP or PCAPNG file)
  • ntpl (sends NTPL code to a certain network stream)
  • osmode (creates a virtual network device on top of Napatech Link™ Capture Software)
  • pktgen (performs traffic generation – does not apply to NT200A01 running on the 2 × 100 Gbit/s capture image nor to NT40E3-4-PTP running on the capture image)
  • pps_basic (synchronizes the SmartNIC against a PPS signal – does not apply to NT50B01 nor to Intel® PAC with Intel® Arria® 10 GX FPGA)
  • pps_endrun (synchronizes the SmartNIC against a PPS signal from an EndRun Præcis Cf CDMA receiver or an EndRun Præcis II CDMA receiver – does not apply to NT50B01 nor to Intel® PAC with Intel® Arria® 10 GX FPGA)
  • pps_oregano (synchronizes the SmartNIC against a PPS signal from an Oregano SYN1588 PCIe NIC – does not apply to NT50B01 nor to Intel® PAC with Intel® Arria® 10 GX FPGA)
  • pps_os (synchronizes the SmartNIC against a PPS signal using OS time as input – does not apply to NT50B01 nor to Intel® PAC with Intel® Arria® 10 GX FPGA)
  • pps_ptp (enables PPS on all SmartNICs configured to run PPS – does not apply to NT50B01 nor to Intel® PAC with Intel® Arria® 10 GX FPGA)
  • pps_symmetricom (synchronizes the SmartNIC against a PPS signal from a Microsemi SyncServer® – does not apply to NT50B01 nor to Intel® PAC with Intel® Arria® 10 GX FPGA)
  • productinfo (displays product information about a SmartNIC)
  • profiling (queries the system for profiling data)
  • ptp_port_config (reads/writes values of selected PTP port parameters – does not apply to NT50B01 nor to Intel® PAC with Intel® Arria® 10 GX FPGA)
  • readproperty (queries the properties of Napatech Link™ Capture Software)
  • replay (transmits a file with captured traffic – does not apply to NT200A01 running on the 2 × 100 Gbit/s capture image nor to NT40E3-4-PTP running on the capture image)
  • supportinfo (dumps system information for support purposes)
  • throughput (captures to server memory and shows the throughput)
  • vpd (reads/writes VPD (vital product data) user data)

Examples

The Link™ Capture Software 12.5 release includes an examples package for the SmartNICs with a number of code examples that use the SmartNIC functionality to illustrate how user applications can be made. These examples are included:

  • bypass/config (not used)
  • bypass/info (not used)
  • bypass/watchdog (not used)
  • config (is an example of how to use the configuration stream interface in NTAPI)
  • event (is an example of how to use the event stream interface in NTAPI)
  • eventMonitor (is an example of how to monitor events and dump information about them to the screen using the event stream interface in NTAPI)
  • flowmatch/flowmatch_example_main (is an example that covers a number flow matching functionalities working together – only applies to NT200A02 running on the 2 × 40 Gbit/s FM image or on the 8 × 10 Gbit/s FM image, and to NT100A01 running on the 4 × 25/10 Gbit/s FM1 image or on the 4 × 10/1 Gbit/s FM1 image)
  • hashref/calc_single_hash (is an example of how to use the hash reference library to calculate hash values for some variants of key data)
  • info (is an example of how to use the information stream interface in NTAPI)
  • integration/systemd (contains a unit configuration for systemd)
  • integration/sysv (contains a System V init script enabling ntservice to be started and stopped by a System V compatible init process)
  • integration/upstart (contains a job file for Upstart, enabling ntservice to be controlled by Upstart)
  • net/addPacket (is a legacy example of how to implement a simple VLAN tagging, using limited host-based transmission - only applies to NT100E3-1-PTP and NT40E3-4-PTP)
  • net/analysis (is an example of how to perform real-time analysis of packets using the file network stream interface in NTAPI)
  • net/capfileconvert (is an example of how to convert captured files)
  • net/capture (is an example of how to capture to disk using the RX network stream interface in NTAPI)
  • net/checksum (is an example of how to transmit packets where layer 3 and layer 4 checksums are recalculated based on control bits in the packet descriptor – only applies to NT200A02 SmartNICs running on a test and measurement image)
  • net/inline (not used)
  • net/ipfdemo (is an example of how to use IP fragment handling – does not apply to NT200A01 running at 2 × 100 Gbit/s)
  • net/netflow (is an example of how to use the dynamic descriptor 1 to extract net flow information from a packet)
  • net/numa (is an example of how to assign and use a host buffer on a NUMA mode)
  • net/readcapfile (is an example of how to read a capture file using NTAPI)
  • net/replay (not used)
  • net/replay4GA (is an example of how to replay captured data onto a port using the TX network stream interface in NTAPI – does not apply to NT200A01 running on the 2 × 100 Gbit/s capture image nor to NT40E3-4-PTP running on the capture image)
  • net/replayGS (not used)
  • net/streamidstatistics (is an example of how to get stream ID statistics that can be correlated with what the application receives)
  • net/timestamp_inject (is an example of how to control injection of time stamps and FCS generation per packet using dynamic descriptor 3 – only applies to NT200A02 SmartNICs running on a test and measurement image)
  • net/transmit_multifunction (is an example of how to transmit different packet sizes at different rates on different ports by transmitting data in segments using NTAPI)
  • net/transmit_on_timestamp (is an example of how to transmit packets on time stamp using the packet interface in NTAPI)
  • net/transmit_on_timestamp_setclock (is an example of how to transmit a sequence of packets on time stamp multiple times using TXSETCLOCK to advance the delta with the duration of a single replay iteration)
  • net/transmit_packet (is an example of how to transmit packets using the packet interface in NTAPI)
  • net/transmit_pcap (is an example of how to transmit PCAP packets using the packet interface in NTAPI)
  • net/transmit_segment (is an example of how to transmit segments using the standard packet descriptor and the TX network stream interface in NTAPI)
  • net/transmit_segment_dyn_descr (is an example of how to transmit segments using a dynamic packet descriptor and the TX network stream interface in NTAPI)
  • net/vlandemo (is an example of how to implement a simple VLAN tagging, using dynamic descriptor 3 and the in-line transmission capabilities – does not apply to Intel® PAC with Intel® Arria® 10 GX FPGA)
  • pps (is an example of how to use PPS time synchronization – does not apply to NT50B01 nor to Intel® PAC with Intel® Arria® 10 GX FPGA)
  • sensor (is an example of how to read sensors)
  • stat (is an example of how to use the statistics stream interface in NTAPI)
  • statUsage (is an example of how to use the statistics stream interface in NTAPI to read host buffer usage statistics)