[dpdk-dev] [dpdk-dev v8 0/3] add RSS configuration for iavf

Jeff Guo jia.guo at intel.com
Wed Apr 22 03:02:52 CEST 2020


Because the VF must be capable of configuring RSS, so add RSS configuration
for iavf, VFs could add or delete a RSS rule base on the PF's capability.
The supported protocol rss input set as below.

l2-src-only/
l2-dst-only/
svlan/
cvlan/
ipv4/
ipv6/
l3_src_only/
l3_dst_only/
l2tpv3/
esp/
ah/
pfcp/
gtpu down/
gtpu up/
udp/
tcp/
sctp/

use tespmd for example:
testpmd> flow create 0 ingress pattern eth / ipv4 / end actions rss types l3-src-only  end key_len 0 queues end / end

use scapy for example:
> sendp(Ether(dst="00:01:23:45:67:01")/IP(src=RandIP())/Raw('x'*20),iface="ens785f1",loop=1,inter=0.3)

the expect result:
the rss hash works and the packets will go to difference queue for load balance.

This patchset depends on below patch sets.
(1)http://patches.dpdk.org/project/dpdk/list/?series=8950
        add generic filter support for iavf
(2)http://patches.dpdk.org/project/dpdk/list/?series=9280
        iavf share code update
(3)http://patches.dpdk.org/project/dpdk/list/?series=9244
        framework for advanced iAVF PMD

v8:
1.rebase patch and refine guide doc

v7:
1.rebase and add ETH_RSS_VLAN to cover ETH_RSS_S_VLAN and ETH_RSS_C_VLAN
2.add misssing type and add change in doc for port rss configure.

v6:
1.rename some struct and type
2.use pattern hint to distingush different layer for hash
3.add some missing part and refine commit log

v5:
1.rename ETH_XXX to L2_XXX.
2.NULL checking and commit log refine.

v4:
1.refine the rss type checking
2.delete unnecessary pdu type item.

v3:
1.refince rss offload types.
2.add doc in release note
3.refine some naming base on virtchnl definition.
4.move gtp pdu index from normal to special.

v2:
1.refine some rte eth rss offload types.
2.add NAT T ESP and refine gtpu down/up
3.reference some fixing patch from pf side.

Jeff Guo (3):
  ethdev: add new RSS offload types
  net/iavf: add RSS configuration for VFs
  app/testpmd: add new types to RSS hash commands

 app/test-pmd/cmdline.c                      |   34 +-
 app/test-pmd/config.c                       |   14 +-
 doc/guides/rel_notes/release_20_05.rst      |    1 +
 doc/guides/testpmd_app_ug/testpmd_funcs.rst |    6 +-
 drivers/net/iavf/Makefile                   |    1 +
 drivers/net/iavf/iavf.h                     |    2 +
 drivers/net/iavf/iavf_hash.c                | 1053 +++++++++++++++++++
 drivers/net/iavf/iavf_vchnl.c               |   33 +-
 drivers/net/iavf/meson.build                |    1 +
 lib/librte_ethdev/rte_ethdev.h              |   17 +-
 10 files changed, 1143 insertions(+), 19 deletions(-)
 create mode 100644 drivers/net/iavf/iavf_hash.c

-- 
2.20.1



More information about the dev mailing list