Packet-Based Interface

Software Architecture

Napatech SmartNIC
Overview Document


The packet-based interface enables processing of packets. This means that Napatech Software Suite has access to every single packet. It is possible to merge packets from multiple accelerators based on the time stamps in the individual packets. This is defined as packet merging (see Packet Merging).The packet-based interface is a zero-copy interface meaning that Napatech Software Suite gives a pointer to the original packet buffer to the application or even to multiple applications. In cases with more than one application it is the responsibility of the applications to make sure that they can work on the same buffer either at the same time or one after the other. Napatech Software Suite lets the applications get the packets when they are ready, so if any synchronization is needed between applications sharing a stream, this must be provided by the applications.

Packet-based interface is specified in the NT_NetRxOpen function in the stream_net.h file.

When the packet-based interface is used, every call to the NT_NetRxGet function returns a packet, and every call to the NT_NetRxRelease function releases a packet (see Network Streams).
Note: The NT_NetRxGetNextPacket function (see Network Streams) automatically releases the previous packet so NT_NetRxRelease must not be called after the NT_NetRxGetNextPacket function.