All of lore.kernel.org
 help / color / mirror / Atom feed
* Avoid stripping vlan tag with I350 VF on a VM
@ 2014-12-01 18:29 Shiantung Wong
       [not found] ` <CAMOKKKJ70a7jBnxY9sZArHEQ54y74yWLS_GqqacobpXV6avL6w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  0 siblings, 1 reply; 3+ messages in thread
From: Shiantung Wong @ 2014-12-01 18:29 UTC (permalink / raw)
  To: dev-VfR2kkLFssw

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Avoid stripping vlan tag with I350 VF on a VM
       [not found] ` <CAMOKKKJ70a7jBnxY9sZArHEQ54y74yWLS_GqqacobpXV6avL6w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2014-12-01 20:17   ` Zhu, Heqing
       [not found]     ` <CAD16F236028A64DBBC0158B1636EA4510FC3678-0J0gbvR4kTg/UvCtAeCM4rfspsVTdybXVpNB7YpNyf8@public.gmane.org>
  0 siblings, 1 reply; 3+ messages in thread
From: Zhu, Heqing @ 2014-12-01 20:17 UTC (permalink / raw)
  To: Shiantung Wong, dev-VfR2kkLFssw

Did you try to remove the VLAN strip on the PF side?  

-----Original Message-----
From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Shiantung Wong
Sent: Monday, December 01, 2014 11:29 AM
To: dev@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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Avoid stripping vlan tag with I350 VF on a VM
       [not found]     ` <CAD16F236028A64DBBC0158B1636EA4510FC3678-0J0gbvR4kTg/UvCtAeCM4rfspsVTdybXVpNB7YpNyf8@public.gmane.org>
@ 2014-12-01 22:07       ` Shiantung Wong
  0 siblings, 0 replies; 3+ messages in thread
From: Shiantung Wong @ 2014-12-01 22:07 UTC (permalink / raw)
  To: Zhu, Heqing; +Cc: dev-VfR2kkLFssw

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-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> wrote:

> Did you try to remove the VLAN strip on the PF side?
>
> -----Original Message-----
> From: dev [mailto:dev-bounces-VfR2kkLFssw@public.gmane.org] On Behalf Of Shiantung Wong
> Sent: Monday, December 01, 2014 11:29 AM
> To: dev-VfR2kkLFssw@public.gmane.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
>

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-12-01 22:07 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-12-01 18:29 Avoid stripping vlan tag with I350 VF on a VM Shiantung Wong
     [not found] ` <CAMOKKKJ70a7jBnxY9sZArHEQ54y74yWLS_GqqacobpXV6avL6w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-12-01 20:17   ` Zhu, Heqing
     [not found]     ` <CAD16F236028A64DBBC0158B1636EA4510FC3678-0J0gbvR4kTg/UvCtAeCM4rfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-12-01 22:07       ` Shiantung Wong

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.