From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qa0-x230.google.com (mail-qa0-x230.google.com [IPv6:2607:f8b0:400d:c00::230]) by dpdk.org (Postfix) with ESMTP id 1CE2B2F4 for ; Thu, 23 Jan 2014 06:06:58 +0100 (CET) Received: by mail-qa0-f48.google.com with SMTP id f11so1652248qae.21 for ; Wed, 22 Jan 2014 21:08:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=OxPYU4+TiBI/AIalO9Dvzhl3evXS38NsgoQGq0VC1XE=; b=vqCtbINKqt+BQu7tgstaK4QaDk2P5B2U/4b62CSl0ramCfEd+cBuJqF3lYe3+szjHf x+Gh2rHuF5m2Mw0SON4wRtHtZLbqj0t3bSTY+rxiwpsD7FYwLfvCO0kisU3Ysor0eIWk fLg5a8D0z1sbWIWVpH7v0udV6iWT1e6/3P1DX/ECSe37y6Y7pipl4EdbdsQt9ClfxZHf u6fjutBn4teEEnjJyrW6yI651qR3XBOwi7Zy07lC/oXXXWSR+AHiNcHnYQDX0nQQJE/2 lsXbhCdgImjO6MoDRhkPzAM3eii6SeH5b5U7VR8Anc0+AUNk9Zll7zjmSnk7JcfukAmT d7Vw== MIME-Version: 1.0 X-Received: by 10.140.95.151 with SMTP id i23mr8168711qge.20.1390453694601; Wed, 22 Jan 2014 21:08:14 -0800 (PST) Received: by 10.96.63.166 with HTTP; Wed, 22 Jan 2014 21:08:14 -0800 (PST) Date: Wed, 22 Jan 2014 21:08:14 -0800 Message-ID: From: James Yu To: "dev@dpdk.org" Content-Type: text/plain; charset=ISO-8859-1 X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: [dpdk-dev] Passing VLAN traffic via l2fwd X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Jan 2014 05:06:58 -0000 I could not pass tagged traffic through the l2fwd program running inside a CentOS VM. The l2fwd program reported sending out all the packets received from one port to the other port. But the outside Spirent tester could not receive a packet at all. I am wondering maybe the tagged packets are dropped somewhere in the rte_em_pmd or in the DPDK library. Anyone knows how to pass/send VLAN traffic through the DPDK ? With tagged SR-IOV ports, Spirent and guest VM CentOS could ping each other without using DPDK. Once I used DPDK 1.3.1r2, I encountered issues with sending out tagged packets out of DPDK to the host. I have done the following: On RHEL6.1 host 1. setup the VLAN using "ip link set eth2 vf 0 vlan 3" for port 1 and "ip link set eth3 vf 0 vlan 3" for port 2 [root@cent64x64-137189 ~]# ip link show eth2 96: eth2: mtu 1500 qdisc mq state UP qlen 1000 link/ether 90:e2:ba:2e:af:f0 brd ff:ff:ff:ff:ff:ff vf 0 MAC 52:54:00:f9:9a:90, vlan 3 [root@cent64x64-137189 ~]# ip link show eth3 98: eth3: mtu 1500 qdisc mq state UP qlen 1000 link/ether 90:e2:ba:2e:af:f1 brd ff:ff:ff:ff:ff:ff vf 0 MAC 52:54:00:30:37:98, vlan 3 2. virsh configure SR-IOV hostdev
[root@cent64x64-137189 ~]# lspci |grep Eth 1a:00.0 Ethernet controller: Intel Corporation 82599EB 10-Gigabit SFI/SFP+ Network Connection (rev 01) 1a:00.1 Ethernet controller: Intel Corporation 82599EB 10-Gigabit SFI/SFP+ Network Connection (rev 01) 1a:10.0 Ethernet controller: Intel Corporation 82599 Ethernet Controller Virtual Function (rev 01) 1a:10.1 Ethernet controller: Intel Corporation 82599 Ethernet Controller Virtual Function (rev 01) On guest VM 1. check all the ports are started up and check their corresponding port type. Use the two SR-IOV ports with device type as ixgbevf for l2fwd [root@VirtualADX ~]# lspci |grep Eth 00:03.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 03) 00:07.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 03) 00:08.0 Ethernet controller: Intel Corporation 82599 Ethernet Controller Virtual Function (rev 01) 00:09.0 Ethernet controller: Intel Corporation 82599 Ethernet Controller Virtual Function (rev 01) 00:0a.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 03) 2. run this command: /root/l2fwd -c 3 -n 1 -b 000:00:03.0 -b 000:00:07.0 -b 000:00:0a.0 -- -q 1 -p 3 Although the l2fwd forwards all received tagged packets, the Spirent tester did not receive any packet at all.