examples/ip_pipeline: support RSS
authorJasvinder Singh <jasvinder.singh@intel.com>
Mon, 30 May 2016 17:14:49 +0000 (18:14 +0100)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Wed, 8 Jun 2016 19:35:35 +0000 (21:35 +0200)
commit966794fecbc98adb14e58b7c430f995e7ac3b34a
tree9aea1c160863d4be7c5914bca334353df5154bc3
parente5a1cd8a48474cf29c0dd7609a68826d38ba1648
examples/ip_pipeline: support RSS

This patch enables rss (receive side scaling) per network interface
through the configuration file. The user can specify following
parameters in LINK section for enabling the rss feature - rss_qs,
rss_proto_ipv4, rss_proto_ipv6 and ip_proto_l2.

The "rss_qs" is mandatory parameter which indicates the queues to be
used for rss, while rest of the parameters are optional. When optional
parameters are not provided in the configuration file, default setting
(ETH_RSS_IPV4 | ETH_RSS_IPV6) is assumed for "rss_hf" field of the
rss_conf structure.

For example, following configuration can be applied for using the rss
on port 0 of the network interface;

[PIPELINE0]
type = MASTER
core = 0

[LINK0]
rss_qs = 0 1

[PIPELINE1]
type = PASS-THROUGH
core = 1
pktq_in = RXQ0.0 RXQ0.1 RXQ1.0
pktq_out = TXQ0.0 TXQ1.0 TXQ0.1

Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
doc/guides/rel_notes/release_16_07.rst
examples/ip_pipeline/app.h
examples/ip_pipeline/config_check.c
examples/ip_pipeline/config_parse.c
examples/ip_pipeline/init.c