How do I do this on PF? On my VM, isn't only VF interface is visible, correct? Thanks for your reply, Shian-Tung
On Mon, Dec 1, 2014 at 12:17 PM, Zhu, Heqing <heqing.zhu at intel.com> wrote: > Did you try to remove the VLAN strip on the PF side? > > -----Original Message----- > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Shiantung Wong > Sent: Monday, December 01, 2014 11:29 AM > To: dev at dpdk.org > Subject: [dpdk-dev] Avoid stripping vlan tag with I350 VF on a VM > > 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 >