You can set the RSS flags via the environment variable SNF_RSS_FLAGS. For more information on SNF_RSS_FLAGS, please read: What RSS hashing is available in Sniffer10G?.
The easiest way to view the RSS parameter setting, as well as other parameter values (e.g., SNF_PORTNUM, SNF_NUM_RINGS, SNF_DATARING_SIZE, SNF_DESCRING_SIZE, SNF_FLAGS, SNF_DEBUG_FILENAME), is to run your Sniffer10G application with the environment variable SNF_DEBUG_MASK set to 3. Then when snf_open() is called by the program it displays the current parameter settings and how they have been set (i.e. from the environment, hard-coded by the application or the default value).
For example:
$ SNF_DEBUG_MASK=3 SNF_RSS_FLAGS=0x1 ./snf_simple_recv snf.0.0 P (userset) SNF_PORTNUM = 0 snf.0.0 P (default) SNF_NUM_RINGS = 1 (0x1) snf.0.0 P (default) SNF_RSS_FLAGS = 1 (0x1) snf.0.0 P (default) SNF_DATARING_SIZE = 268435456 (0x10000000) (256.0 MiB) snf.0.0 P (default) SNF_DESCRING_SIZE = 67108864 (0x4000000) (64.0 MiB) snf.0.0 P (default) SNF_FLAGS = 0 snf.0.0 P (environ) SNF_DEBUG_MASK = 3 (0x3) snf.0.0 P (default) SNF_DEBUG_FILENAME = stderr ...
For information on SNF_FLAGS, please read Can Sniffer10G v2 aggregate or merge ports?
For information on SNF_NUM_RINGS, please read What is the maximum number of rings supported by Sniffer10G?
SNF_DEBUG_MASK=0x3
Users can ensure that the Sniffer10G library is linked to the application by setting SNF_DEBUG_MASK=0x3 in the environment when opening the Sniffer10G application. For example (from above),
$ SNF_DEBUG_MASK=3 SNF_RSS_FLAGS=0x1 ./snf_simple_recv
Setting this SNF_DEBUG_MASK variable causes the SNF API to output memory mapping information when the application is run. If no information is dumped to the screen, it is likely that your application is not correctly linked against the Sniffer10G library. Monitor myri_counters to verify that traffic is in fact being received.