From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tom Kiely Subject: Problems with SR-IOV and transparent vlan under DPDK Date: Thu, 26 Nov 2015 22:27:14 +0000 Message-ID: <56578742.7040205@brocade.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit To: Return-path: Received: from mx0b-000f0801.pphosted.com (mx0b-000f0801.pphosted.com [67.231.152.113]) by dpdk.org (Postfix) with ESMTP id 1D34F5683 for ; Thu, 26 Nov 2015 23:27:42 +0100 (CET) Received: from pps.filterd (m0048192.ppops.net [127.0.0.1]) by mx0b-000f0801.pphosted.com (8.15.0.59/8.15.0.59) with SMTP id tAQMMVTl020878 for ; Thu, 26 Nov 2015 14:27:41 -0800 Received: from brmwp-exmb12.corp.brocade.com ([208.47.132.227]) by mx0b-000f0801.pphosted.com with ESMTP id 1ye54a8k0k-1 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT) for ; Thu, 26 Nov 2015 14:27:40 -0800 List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Hi, I wonder if anyone might have advice in relation to a major problem we're encountering. We have an SR-IOV setup on Debian 8 with 4 VFs. Each VF is configured with transparent vlan 1000. We have 4 VMs via KVM. 2xCentos (C1, C2) and 2xDebian8 (VR1, VR2) with DPDK based dataplane. C1 can ping correctly to C2. However, when C1 pings VR2, it fails because the received packets on VR2 are tagged with the "transparent" vlan 1000. VR2 is not configured for vlans and discards the packets. All VMs are configured identically from the KVM perspective. SR-IOV VFs are attached using: "virsh attach-device " where xmlfile is of the form:
"ip link show" shows the various VFs with the associated vlans. $ ip link | grep vlan vf 0 MAC 52:54:00:68:cf:67, vlan 1000, spoof checking off, link-state auto vf 1 MAC 52:54:00:33:22:1a, vlan 1000, spoof checking off, link-state auto vf 2 MAC ba:10:05:10:00:03, vlan 1000, spoof checking off, link-state auto vf 3 MAC ba:10:05:10:00:04, vlan 1000, spoof checking off, link-state auto vf 0 MAC 52:54:00:fe:e0:6e, vlan 1000, spoof checking off, link-state auto vf 1 MAC 52:54:00:9c:f8:96, vlan 1000, spoof checking off, link-state auto vf 2 MAC ba:10:05:10:01:03, vlan 1000, spoof checking off, link-state auto vf 3 MAC ba:10:05:10:01:04, vlan 1000, spoof checking off, link-state auto Wireshark on the Centos VMs show the correct packets being received but show the packets with the incorrect vlan header on the DPDK based VR1/2. So my question is: How should DPDK deal with the transparent vlan handling ? Where should it be notifying the hardware to apply and strip the transparent vlan tags on traffic from and to the VMs ? Any insights gratefuly received. Thanks, Tom