[dpdk-dev] [PATCH 0/2] improve i40e VF VLAN performance
Qi Zhang
qi.z.zhang at intel.com
Mon May 28 04:01:08 CEST 2018
(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
More information about the dev
mailing list