DPDK patches and discussions
 help / color / mirror / Atom feed
From: Qi Zhang <qi.z.zhang@intel.com>
To: beilei.xing@intel.com
Cc: dev@dpdk.org, helin.zhang@intel.com, liang-min.wang@intel.com,
	Qi Zhang <qi.z.zhang@intel.com>
Subject: [dpdk-dev] [PATCH 0/2] improve i40e VF VLAN performance
Date: Mon, 28 May 2018 10:01:08 +0800	[thread overview]
Message-ID: <20180528020110.37713-1-qi.z.zhang@intel.com> (raw)

(target for v18.08)

Add vlan to vlan prune table cost additinal firmware cycle
that cause significent performance downgrade (40~50%). While
remove this will cause vlan anti spoof does not work on 
VF.

The dicision is to take performance as high priority, since 40~50%
performance drop is unbearable for most cases, so code part for 
adding vlan to vlan prune table will be stripped out, while for vlan
anti-spoof, we take an alternative way as below:

Due to hardware limitation, there is no perfect solution to
enable VF vlan antispoof, to enable it means lost something else.
So the solution is to introduce devarg "support-vf-vlan-antispoof"
that turn on the feature to meet customer's specific requirement
while no impact on normal case when it is turned off. Below impact
is expected when support-vf-vlan-antispoof is turned on:

1. Multi-driver is not supported since some global register is
   changed in DPDK driver during init which is no expected by
   kernel driver.

2. Unicast / Multicase promiscuous mode can not be configured
   separately. So, function rte_pmd_i40e_set_vf_unicast_promics
   and rte_pmd_i40e_set_vf_multicast_promisc will fail and
   new funciton rte_pmd_i40e_set_vf_promics is introduced as a
   coarse-grain API.

3. VLAN anti-spoof and Mac anti-spoof are always enable/disable
   together. (rte_eth_set_vf_mac_anti_spoof and
   rte_eth_set_vf_vlan_anti_spoof do the same thing now.)

4. When VLAN/MAC anti-spoof is turned on, vlan tag will be added to
   vlan promisc table, so in the rx path, mac address match will
   be ignored, only vlan will be matched.


Qi Zhang (2):
  net/i40e: improve VF VLAN performance
  net/i40e: enable VF VLAN antispoof

 doc/guides/nics/i40e.rst                  |  28 ++++
 drivers/net/i40e/i40e_ethdev.c            | 122 +++++++++-----
 drivers/net/i40e/i40e_ethdev.h            |   2 +-
 drivers/net/i40e/i40e_pf.c                |  30 +++-
 drivers/net/i40e/rte_pmd_i40e.c           | 263 ++++++++++++++++--------------
 drivers/net/i40e/rte_pmd_i40e.h           |  22 +++
 drivers/net/i40e/rte_pmd_i40e_version.map |   8 +-
 7 files changed, 302 insertions(+), 173 deletions(-)

-- 
2.13.6

             reply	other threads:[~2018-05-28  2:00 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-28  2:01 Qi Zhang [this message]
2018-05-28  2:01 ` [dpdk-dev] [PATCH 1/2] net/i40e: improve " Qi Zhang
2018-06-20  6:23   ` Xing, Beilei
2018-05-28  2:01 ` [dpdk-dev] [PATCH 2/2] net/i40e: enable VF VLAN antispoof Qi Zhang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180528020110.37713-1-qi.z.zhang@intel.com \
    --to=qi.z.zhang@intel.com \
    --cc=beilei.xing@intel.com \
    --cc=dev@dpdk.org \
    --cc=helin.zhang@intel.com \
    --cc=liang-min.wang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).