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
next 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).