[dpdk-dev] [PATCH v11 00/26] Support VFD on i40e - EXPERIMENTAL

Wenzhuo Lu wenzhuo.lu at intel.com
Tue Jan 17 03:28:10 CET 2017

1, VF Daemon (VFD)
VFD is an idea to control all the VFs from PF.
As we need to support the scenario kernel PF + DPDK VF, DPDK follows
the interface between kernel PF + kernel VF.
We don't want to introduce too many new messages between PF and VF.
So this patch set adds some new APIs to control VFs directly from PF.
The new APIs include,
1) set VF MAC anti-spoofing
2) set VF VLAN anti-spoofing
3) set TX loopback
4) set VF unicast promiscuous mode
5) set VF multicast promiscuous mode
6) set VF MTU
7) get/reset VF stats
8) set VF MAC address
9) set VF VLAN stripping
10) VF VLAN insertion
12) set VF broadcast mode
13) set VF VLAN tag
14) set VF VLAN filter
VFD also includes VF to PF mailbox message management by APP.
When PF receives mailbox messages from VF, PF should call the
callback provided by APP to know if they're permitted to be

Please aware VFD is an EXPERIMENTAL feature, it can be changed,
or even removed, without prior notice.

2, Implement VF MAC address setting on VF.

- update the design doc.
- rebased on the newest next-net.

- some minor change of the doc and comments.
- add the NIC check in the private APIs.

- upadte the doc and announce VFD is an experimental feature.

- remove unnecessary VF check.
- add more debug logs.
- split VMDq related code to a separate patch set.
- some minor change.

- fix 32 bit compile error in patch 23.
- add new patches to configure VMDq.

- remove the support of DPDK PF + kernel VF. Will create a new patch set for it.
- reword the tittles of some patches.
- add sanity check for vsi, and other minor change.

- fix testpmd build error(s)
- fix i40e vf_rx_vlan
- remove redundant memset on dev_info
- add functions to .map file sorted

- rebase on latest next-net
- move patch 10/29 testpmd part to patch 18/29

- fix issue that VF does not work for i40e
- remove patch for VDMq receive mode init
- move get/reset VF stats API into rte_pmd_i40

- fix the compile issues.
- fix the checkpatch warning and typo.
- update the commit log of some patches.
- fix the invalid port ID issue of testpmd.

Bernard Iremonger (7):
  net/i40e: set VF VLAN insertion from PF
  net/i40e: set VF broadcast mode from PF
  net/i40e: set VF VLAN tag from PF
  net/i40e: set VF VLAN filter from PF
  app/testpmd: add command to test VF broadcast mode on i40e
  app/testpmd: add command to test VF VLAN tag on i40e
  app/testpmd: handle i40e in VF VLAN filter command

Chen Jing D(Mark) (2):
  net/i40e: set VF VLAN strip from PF
  net/i40e: enhance in sanity check of MAC

Ferruh Yigit (3):
  net/i40e: set VF MAC from PF support
  net/i40e: set VF MAC from VF support
  net/i40e: fix VF MAC address assignment

Qi Zhang (3):
  net/i40e: enable VF MTU change
  net/i40e: fix VF reset flow
  net/i40e: set/clear VF stats from PF

Wenzhuo Lu (11):
  net/i40e: support link status notification
  net/i40e: add callback to user on VF to PF mbox msg
  net/i40e: set VF MAC anti-spoofing from PF
  net/i40e: set VF VLAN anti-spoofing from PF
  net/i40e: set Tx loopback from PF
  net/i40e: set VF unicast promisc mode from PF
  net/i40e: set VF multicast promisc mode from PF
  app/testpmd: use VFD APIs on i40e
  app/testpmd: use unicast promiscuous mode on i40e
  app/testpmd: use multicast promiscuous mode on i40e
  doc: update doc for VFD

 MAINTAINERS                                 |   1 +
 app/test-pmd/Makefile                       |   1 +
 app/test-pmd/cmdline.c                      | 552 +++++++++++++++-
 app/test-pmd/config.c                       |  13 -
 app/test-pmd/testpmd.h                      |   2 -
 doc/guides/contributing/design.rst          |  14 +
 doc/guides/nics/i40e.rst                    |   1 +
 doc/guides/rel_notes/release_17_02.rst      |  29 +
 doc/guides/testpmd_app_ug/testpmd_funcs.rst |  32 +
 drivers/net/i40e/Makefile                   |   4 +-
 drivers/net/i40e/i40e_ethdev.c              | 976 +++++++++++++++++++++++++++-
 drivers/net/i40e/i40e_ethdev.h              |   5 +-
 drivers/net/i40e/i40e_ethdev_vf.c           |  82 ++-
 drivers/net/i40e/i40e_pf.c                  | 244 +++++--
 drivers/net/i40e/i40e_pf.h                  |   9 +-
 drivers/net/i40e/rte_pmd_i40e.h             | 335 ++++++++++
 drivers/net/i40e/rte_pmd_i40e_version.map   |  20 +
 17 files changed, 2206 insertions(+), 114 deletions(-)
 create mode 100644 drivers/net/i40e/rte_pmd_i40e.h

Series-Acked-by: Helin Zhang <helin.zhang at intel.com>
Series-Acked-By: Vincent Jardin <vincent.jardin at 6wind.com>

More information about the dev mailing list