[dpdk-dev] Avoid stripping vlan tag with I350 VF on a VM
Zhu, Heqing
heqing.zhu at intel.com
Mon Dec 1 21:17:28 CET 2014
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
More information about the dev
mailing list