Bug 1270853

Summary: vlan tag is not stripped in the packet when received in a vm which is using dpdk on a VF netcard.
Product: Red Hat OpenStack Reporter: Wanglujing <065903>
Component: kernelAssignee: Red Hat Kernel Manager <kernel-mgr>
Status: CLOSED DUPLICATE QA Contact: Jean-Tsung Hsiao <jhsiao>
Severity: medium Docs Contact:
Priority: unspecified    
Version: Foreman (RHEL 6)CC: 065903, fleitner, huhuang, juhu, linville, lwang, rkhan, wkong, yeylon
Target Milestone: ---   
Target Release: 8.0 (Liberty)   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-10-14 13:46:45 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Wanglujing 2015-10-12 14:08:16 UTC
Description of problem:
https://access.redhat.com/support/cases/#/case/01512268 

Version-Release number of selected component (if applicable):
host:rhel7.1, Openstack platform 6
vm : rhel7.1

How reproducible:100% 
Steps to Reproduce:
you can reproduce it but it is difficult to see the issue because it is difficult to dump raw packet in vm when using DPDK.
In fact, to help to understand the issue , you can take two server ,each with one 82599 netcard,config SRIOV, then run a vm in each server, set the same Vlan id for VF , 
in the vm, you can modify ixgbevf souce code and print the vlan tag in receive packet path.
you can refer it like https://access.redhat.com/support/cases/#/case/01512268


Actual results:
vlan tag is not striped.

Expected results:
vlan tag is striped by hardware, not by software.

Additional info:

Comment 2 Wanglujing 2015-10-12 14:10:19 UTC
1. Feature Overview:
a) Name of feature:
Vlan tag strip in ixgbe PF function
b) Feature Description:
Currently, vlan tag strip at ixgbe_vf function, but at some NFV
environment, customer hope we could achive this function at PF site.
2. Feature Details:
a) Architectures:
x86_64
b) Bugzilla Dependencies:
None
c) Drivers or hardware dependencies:
ixgbe, intel 82599
d) Upstream acceptance information:
e) External links:
f) Severity (H,M,L):
M
g) Feature Needed by:
ZTE, one NEP partner of redhat
3. Business Justification:
a) Why is this feature needed
We are doing a NFV project with ZTE. In the project, this feature is
important for customer, in their environment,
they don't handle vlan tag strip by dpdk.
b) What hardware does this enable?
c) Is this hardware on-board in a system (eg, LOM) or an add-on card?
add-on card, intel 10GB netcard
d) Business impact?
At NFV area, any performance improve about virtulization could be
appreciate.
e) Other business drivers:
4. Primary contact at Red Hat, email, phone (chat)
Hua Huang  huhuang
Jun Hu     juhu
5. Primary contact at Partner, email, phone (chat)
Technical contact: Wang Lujing wang.lujing.cn
Management contact: Wang Bibo wang.bibo.cn

Comment 3 John W. Linville 2015-10-14 13:46:45 UTC

*** This bug has been marked as a duplicate of bug 1270849 ***

Comment 4 Flavio Leitner 2015-10-16 13:24:55 UTC
(In reply to John W. Linville from comment #3)
> *** This bug has been marked as a duplicate of bug 1270849 ***

Here is about to strip at PF, not at VF.  The other bug seems to about a malfunction in VF vlan stripping, so another issue.

Wanglujing, could you review and confirm?

Also, when you say "hope we could achive this function at PF site" does that mean you want to control each VF independently from PF or enable/disable vlan stripping for ALL VFs in PF?

Another question is if you need per queue or not, do you?

One last question, is it only about single tagging or double tagging too?
The HW seems to support stripping only for one level.

fbl

Comment 5 Wanglujing 2015-10-16 16:32:52 UTC
yes, we want to set enable/disable vlan stripping for all VFs in PF driver.

need per queue.
single tagging.

thanks.

Comment 6 Wanglujing 2015-10-25 07:48:04 UTC
any progress?

we can refer the implementation like rte_eth_dev_set_vlan_strip_on_queue function in DPDK.

another question: can  "ethtool -K $VF rxvlan on"  enable vlan stripping in vm ?