Myricom logotype

Device flags for process-sharing, packet duplication
[SNF API Reference]


Defines

#define SNF_F_PSHARED   0x1
#define SNF_F_RX_DUPLICATE   0x300
#define SNF_F_RX_PRIVATE   0x100

Detailed Description

These options are passed to the flags parameter in snf_open to enable various receive mechanisms.

Define Documentation

#define SNF_F_PSHARED   0x1

Device can be process-sharable. This allows multiple indpendent processes to share rings on the capturing device. This option can be used to design a custom capture solution but is also used in libpcap when multiple rings are requested. In this scenario, each libpcap device sees a fraction of the traffic if multiple rings are used unless the SNF_F_RX_DUPLICATE option is used in which case each libpcap device sees the same incoming packets.

#define SNF_F_RX_DUPLICATE   0x300

Device can duplicate packets to multiple rings as opposed to applying RSS in order to split incoming packets across rings. Users should be aware that with N rings opened, N times the link bandwidth is necessary to process incoming packets without drops. The duplication happens in the host rather than the NIC, so while only up to 10Gbits of traffic crosses the PCIe, N times that bandwidth is necessary on the host.

When duplication is enabled, RSS options are ignored since every packet is delivered to every ring.

#define SNF_F_RX_PRIVATE   0x100

Each ring can have private references to a ring instead of shared references. This flag may yield better capture behavior when the consumption rate of each rings varies enough to cause an important number of packet drops.


Myricom banner
26 October 2010 Sniffer10G 1.0.2_pcap1.1.1