Software

Huntington Beach 3 Release Summary

Platform
Napatech SmartNIC
Content Type
Release Summary
Capture Software Version
N-ANL10

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 Huntington Beach 3 release these functions are supported:

    • Dynamic packet descriptors
    • Filtering
    • Slicing
    • Hash key definition
    • Multi-CPU distribution
    • Local retransmission (does not apply to NT200A01-2×100 nor to NT200A01-2×100/40 running at 2 × 100 Gbit/s)
    • IP fragment handling (does not apply to NT200A01-2×100 accelerators nor to NT200A01-2×100/40 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 Huntington Beach 3 release includes a tools package with a number of binary tools that demonstrate the accelerator functionality. These tools are included:

  • adapterinfo (displays information about the accelerator)
  • capfileconvert (converts captured files to or from 3GD (Napatech Software Suite) format)
  • capfiledump (dumps a 3GD (Napatech Software Suite) capture file in humanly readable format)
  • capture (captures data to disk – only applies to accelerators with a capture profile)
  • config (configures links, time stamp values and sensor alarm levels)
  • diagnostics (perform diagnostics on an accelerator)
  • 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 (not used)
  • ntpl (sends NTPL code to a certain network stream)
  • osmode (creates a virtual network device on top of 3GD (Napatech Software Suite))
  • pktgen (performs traffic generation – does not apply to NT200A01-2×100 running on the capture image)
  • pps_basic (synchronizes the accelerator against a PPS signal)
  • pps_endrun (synchronizes the accelerator against a PPS signal from an EndRun Præcis Cf CDMA receiver or an EndRun Præcis II CDMA receiver)
  • pps_oregano (synchronizes the accelerator against a PPS signal from an Oregano SYN1588 PCIe NIC)
  • pps_os (synchronizes the accelerator against a PPS signal using OS time as input)
  • pps_ptp (enables PPS on all accelerators configured to run PPS)
  • pps_symmetricom (synchronizes the accelerator against a PPS signal from a Microsemi SyncServer®)
  • productinfo (displays product information about an accelerator)
  • profiling (queries the system for profiling data)
  • ptp_port_config (reads/writes values of selected PTP port parameters)
  • replay (transmits a file with captured traffic – does not apply to NT200A01-2×100 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 Huntington Beach 3 release includes an examples package for the accelerators with a number of code examples that use the accelerator 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)
  • 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/inline (not used)
  • net/ipfdemo (is an example of how to use IP fragment handling – does not apply to NT200A01-2×100 nor to NT200A01-2×100/40 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-2×100 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/transmit (is an example of how to transmit packets using host-based transmission or using the limited TX functionality)
  • net/transmitSegment (is an example of how to transmit segments using 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)
  • pps (is an example of how to use PPS time synchronization)
  • 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)