From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-vc0-f170.google.com (mail-vc0-f170.google.com [209.85.220.170]) by dpdk.org (Postfix) with ESMTP id D8E2E68AC for ; Mon, 1 Dec 2014 19:29:07 +0100 (CET) Received: by mail-vc0-f170.google.com with SMTP id hy4so5019280vcb.15 for ; Mon, 01 Dec 2014 10:29:07 -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=IIYS4wM+6UROiE4Uw4f04CF3rXHwVZnBiYT9ndHwYRo=; b=HWN/I+Naafd1JHMndJq4VV6I3qIszGGsvvBKm/oi1lLgJ1TxYu3whtfdG878jolM7p p+n3vyL/XHTtWEObvS7NYUGiTKgWDh/kLSPAifcvwyYTlZjhUJtLRtESAQa5TALZuL7X U5siAbEyaTwCLYQkhnRjZ0whICwAtiJV5DGNRWezytXpODcJRh6NJ6XpLFMojMZKtCsR CJOofF0uyApDBxcH0n0MvR7hzzd0m1DMw4Evq8/yJnbyVLY1GqWmI4gmdx6eHvOuCXq2 89xjG2+Z8R/aHhgB/Sd8tJwKLT/orP7Ep3BU9XTVTcJxUruh67qfP+p/CBZ+NjJ2CDey H7mw== MIME-Version: 1.0 X-Received: by 10.52.137.34 with SMTP id qf2mr24840584vdb.13.1417458546945; Mon, 01 Dec 2014 10:29:06 -0800 (PST) Received: by 10.52.121.74 with HTTP; Mon, 1 Dec 2014 10:29:06 -0800 (PST) Date: Mon, 1 Dec 2014 10:29:06 -0800 Message-ID: From: Shiantung Wong To: dev@dpdk.org Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: [dpdk-dev] Avoid stripping vlan tag with I350 VF on a VM 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: Mon, 01 Dec 2014 18:29:08 -0000 My application running on a VM needs to deal with multiple VLANS on packets received over I350 using Virtual Function. But I always see the received packets without vlan tag. This is my setup: - host: 3.13.6-031306-generic - QEMU emulator version 2.0.0 (Debian 2.0.0+dfsg-2ubuntu1.7) - guest: 2.6.32-358.el6.x86_64 - dpdk: 1.6 And this is how I set up in the VM: ------- memset(&port_conf, 0, sizeof(port_conf)); if (vlanCnt > 0) port_conf.rxmode.hw_vlan_filter = 1; port_conf.rxmode.jumbo_frame = 1; port_conf.rxmode.max_rx_pkt_len = 9018; ret = rte_eth_dev_configure(port, 1, 1, &port_conf); if (ret < 0) { rte_log(RTE_LOG_CRIT, RTE_LOGTYPE_EAL, "Error on config port%u, ret=%d\n", (unsigned)port, ret); return -1; } for(i = 0; i < vlanCnt; i++) { ret = rte_eth_dev_vlan_filter(port, vlan[i], 1); if (ret < 0) { rte_log(RTE_LOG_CRIT, RTE_LOGTYPE_EAL, "Error on config port%u, vlan%d ret=%d\n", (unsigned)port, vlan[i], ret); return -1; } } ----- If I also try to explicitly disable the stripping with next, but get an error return -ENOSUP. ret = rte_eth_dev_set_vlan_strip_on_queue(port, 0, 0); I appreciate anyone can help. on how to set it up. Thanks, Shian Wong