From: "Wu, Yanglong" <yanglong.wu@intel.com>
To: Shahaf Shuler <shahafs@mellanox.com>, "dev@dpdk.org" <dev@dpdk.org>
Cc: "Lu, Wenzhuo" <wenzhuo.lu@intel.com>
Subject: Re: [dpdk-dev] [PATCH] app/testpmd:vlan filter fail
Date: Fri, 2 Feb 2018 03:37:17 +0000 [thread overview]
Message-ID: <B73B41DFFD120A45AEE57672FCA463BA0196C4D5@shsmsx102.ccr.corp.intel.com> (raw)
In-Reply-To: <VI1PR05MB314902B1144E0C400FDCE5A6C3FA0@VI1PR05MB3149.eurprd05.prod.outlook.com>
Hi,
This patch is wrong, but there is bug absolutely.
The problem can be stated as following:
in your patch(0074d02fc),
@@ -2224,7 +2221,7 @@ init_port_dcb_config(portid_t pid,
retval = get_eth_dcb_conf(&port_conf, dcb_mode, num_tcs, pfc_en);
if (retval < 0)
return retval;
- port_conf.rxmode.hw_vlan_filter = 1;
+ port_conf.rxmode.offloads |= DEV_RX_OFFLOAD_VLAN_FILTER;
You remove out port_conf.rxmode.hw_vlan_filter = 1 and assign port_conf.rxmode.offloads directly, so here port_conf.rxmode.hw_vlan_filter will equal to 0 and port_conf.rxmode.offloads will equal to DEV_RX_OFFLOAD_VLAN_FILTER, right?
But next in the function rte_eth_dev_configure(pid, 0, 0, &port_conf) --> rte_eth_convert_rx_offload_bitfield , it will assign port_conf.rxmode.offloads according to value of port_conf.rxmode.hw_vlan_filter again. As you remove out port_conf.rxmode.hw_vlan_filter = 1 and it equal to 0 now, port_conf.rxmode.offloads is assigned as 0 again. So it will always lead to fail for vlan filter setting.
So I think port_Conf.rxmode.hw_vlan_filter should equeal to 1 and removing out port_conf.rxmode.hw_vlan_filter = 1 will leads it assigning as a wrong number and vlan filter failing. So port_conf.rxmode.hw_vlan_filter = 1 shouldn’t be removed out, do you think so?
I will add this line and sent patch again
Wu yanglong
-----Original Message-----
From: Shahaf Shuler [mailto:shahafs@mellanox.com]
Sent: Thursday, February 1, 2018 1:58 PM
To: Wu, Yanglong <yanglong.wu@intel.com>; dev@dpdk.org
Cc: Lu, Wenzhuo <wenzhuo.lu@intel.com>
Subject: RE: [PATCH] app/testpmd:vlan filter fail
Thursday, February 1, 2018 3:27 AM, Yanglong Wu:
> And-operartion with a constant will
> always lead to fail for vlan filter.
It will work after dev->data->dev_conf.rxmode.offloads |= DEV_RX_OFFLOAD_VLAN_FILTER , right?
I don't understand what this patch tries to fix.
>
> fix:0074d02fc(convert to new Rx offloads API)
> Signed-off-by: Yanglong Wu <yanglong.wu@intel.com>
> ---
> lib/librte_ether/rte_ethdev.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lib/librte_ether/rte_ethdev.c
> b/lib/librte_ether/rte_ethdev.c index f285ba278..d468bb4a1 100644
> --- a/lib/librte_ether/rte_ethdev.c
> +++ b/lib/librte_ether/rte_ethdev.c
> @@ -2288,7 +2288,7 @@ rte_eth_dev_vlan_filter(uint16_t port_id,
> uint16_t vlan_id, int on)
>
> RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
> dev = &rte_eth_devices[port_id];
> - if (!(dev->data->dev_conf.rxmode.offloads &
> + if (!(dev->data->dev_conf.rxmode.offloads ||
> DEV_RX_OFFLOAD_VLAN_FILTER)) {
> RTE_PMD_DEBUG_TRACE("port %d: vlan-filtering disabled\n", port_id);
> return -ENOSYS;
> --
> 2.11.0
next prev parent reply other threads:[~2018-02-02 3:38 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-01 1:26 Yanglong Wu
2018-02-01 2:07 ` Thomas Monjalon
2018-02-01 5:57 ` Shahaf Shuler
2018-02-02 3:37 ` Wu, Yanglong [this message]
2018-02-02 5:09 Yanglong Wu
2018-02-04 6:27 ` Shahaf Shuler
2018-02-05 1:51 ` Wu, Yanglong
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=B73B41DFFD120A45AEE57672FCA463BA0196C4D5@shsmsx102.ccr.corp.intel.com \
--to=yanglong.wu@intel.com \
--cc=dev@dpdk.org \
--cc=shahafs@mellanox.com \
--cc=wenzhuo.lu@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).