The Napatech Link™ Capture Software API function NT_NetRxOpenMulti can open multiple streams and merge packets from them. This will result in packets from the streams specified being merged by the driver (based on time stamps) – similar to merging of host buffers from multiple SmartNICs.
This function makes it possible to configure multi-CPU distribution of one type of traffic to a range of streams, and to send another type of traffic to a separate stream, and then from each application thread to open one of the split streams in combination with the separate shared stream.
Multi-CPU distribution and sharing combined
This figure shows a number of application threads that each open their own multi-CPU split stream combined with a shared stream.
In this way, the one stream to one host buffer relation (per SmartNIC) is maintained, which is how the Napatech Link™ Capture Software driver is architected to optimize performance, but still allow applications to combine multi-CPU distribution and sharing to mimic load distribution combined with replication. Limited PCI bandwidth is not wasted on replicating data, and zero-copy is maintained as sharing is used instead of replication.