From: "Jastrzebski, MichalX K" <michalx.k.jastrzebski@intel.com>
To: "Qiu, Michael" <michael.qiu@intel.com>, "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH v2] testpmd check return value of rte_eth_dev_vlan_filter()
Date: Fri, 20 Feb 2015 09:08:48 +0000 [thread overview]
Message-ID: <60ABE07DBB3A454EB7FAD707B4BB1582138EAEE4@IRSMSX109.ger.corp.intel.com> (raw)
In-Reply-To: <533710CFB86FA344BFBF2D6802E60286CBF07B@shsmsx102.ccr.corp.intel.com>
> -----Original Message-----
> From: Qiu, Michael
> Sent: Wednesday, January 28, 2015 2:38 AM
> To: Jastrzebski, MichalX K; dev@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v2] testpmd check return value of
> rte_eth_dev_vlan_filter()
>
> On 1/28/2015 1:20 AM, Michal Jastrzebski wrote:
> > This patch modifies testpmd behavior when setting:
> > rx_vlan add all vf_port (enabling all vlanids
> > to be passed thru rx filter on VF).
> > Rx_vlan_all_filter_set() function,
> > checks if the next vlanid can be enabled by the driver.
> > Number of vlanids is limited by the NIC and thus the NIC
> > do not allow to enable more vlanids than it can allocate
> > in VFTA table.
>
> But what about if it is caused by other issue to lead a enable failure?
Hi Michael,
I am sorry I am writing almost a month after you reply
But I had another issues required a 100% attention.
As I see in the function:
rte_eth_dev_vlan_filter(uint8_t port_id, uint16_t vlan_id, int on);
arguments like port_id and vlan_id are checked. Also if vlan-filtering
is enabled is checked. Each error is printed so the user is informed that
something went wrong and where to look for it.
I don't know what else could be checked here?
>
>
> > v2 - fix formatting errors
> >
> > Signed-off-by: Michal Jastrzebski <michalx.k.jastrzebski@intel.com>
> > ---
> > app/test-pmd/config.c | 15 +++++++++------
> > app/test-pmd/testpmd.h | 2 +-
> > lib/librte_ether/rte_ethdev.c | 4 ++--
> > 3 files changed, 12 insertions(+), 9 deletions(-)
> >
> > diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
> > index c40f819..eda737e 100644
> > --- a/app/test-pmd/config.c
> > +++ b/app/test-pmd/config.c
> > @@ -1643,21 +1643,22 @@ rx_vlan_filter_set(portid_t port_id, int on)
> > "diag=%d\n", port_id, on, diag);
> > }
> >
> > -void
> > +int
> > rx_vft_set(portid_t port_id, uint16_t vlan_id, int on)
> > {
> > int diag;
> >
> > if (port_id_is_invalid(port_id))
> > - return;
> > + return 1;
> > if (vlan_id_is_invalid(vlan_id))
> > - return;
> > + return 1;
> > diag = rte_eth_dev_vlan_filter(port_id, vlan_id, on);
> > if (diag == 0)
> > - return;
> > + return 0;
> > printf("rte_eth_dev_vlan_filter(port_pi=%d, vlan_id=%d, on=%d)
> failed "
> > "diag=%d\n",
> > port_id, vlan_id, on, diag);
> > + return -1;
> > }
> >
> > void
> > @@ -1667,8 +1668,10 @@ rx_vlan_all_filter_set(portid_t port_id, int on)
> >
> > if (port_id_is_invalid(port_id))
> > return;
> > - for (vlan_id = 0; vlan_id < 4096; vlan_id++)
> > - rx_vft_set(port_id, vlan_id, on);
> > + for (vlan_id = 0; vlan_id < 4096; vlan_id++) {
>
> Before "{" you use a Tab? One white space is OK.
>
> Thanks,
> Michael
>
> > + if (rx_vft_set(port_id, vlan_id, on))
> > + break;
> > + }
> > }
> >
> > void
> > diff --git a/app/test-pmd/testpmd.h b/app/test-pmd/testpmd.h
> > index 8f5e6c7..e0186b9 100644
> > --- a/app/test-pmd/testpmd.h
> > +++ b/app/test-pmd/testpmd.h
> > @@ -492,7 +492,7 @@ void rx_vlan_strip_set_on_queue(portid_t port_id,
> uint16_t queue_id, int on);
> >
> > void rx_vlan_filter_set(portid_t port_id, int on);
> > void rx_vlan_all_filter_set(portid_t port_id, int on);
> > -void rx_vft_set(portid_t port_id, uint16_t vlan_id, int on);
> > +int rx_vft_set(portid_t port_id, uint16_t vlan_id, int on);
> > void vlan_extend_set(portid_t port_id, int on);
> > void vlan_tpid_set(portid_t port_id, uint16_t tp_id);
> > void tx_vlan_set(portid_t port_id, uint16_t vlan_id);
> > diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c
> > index ea3a1fb..064b5d6 100644
> > --- a/lib/librte_ether/rte_ethdev.c
> > +++ b/lib/librte_ether/rte_ethdev.c
> > @@ -1519,8 +1519,8 @@ rte_eth_dev_vlan_filter(uint8_t port_id,
> uint16_t vlan_id, int on)
> > return (-EINVAL);
> > }
> > FUNC_PTR_OR_ERR_RET(*dev->dev_ops->vlan_filter_set, -
> ENOTSUP);
> > - (*dev->dev_ops->vlan_filter_set)(dev, vlan_id, on);
> > - return (0);
> > +
> > + return (*dev->dev_ops->vlan_filter_set)(dev, vlan_id, on);
> > }
> >
> > int
next prev parent reply other threads:[~2015-02-20 9:08 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-27 17:19 Michal Jastrzebski
2015-01-28 1:38 ` Qiu, Michael
2015-02-20 9:08 ` Jastrzebski, MichalX K [this message]
2015-02-20 10:26 ` [dpdk-dev] [PATCH v3 0/2] testpmd: " Michal Jastrzebski
2015-02-20 10:26 ` [dpdk-dev] [PATCH v3 1/2] doc: add information about limited number of vlan_ids Michal Jastrzebski
2015-02-20 10:26 ` [dpdk-dev] [PATCH v3 2/2] testpmd: check return value of rte_eth_dev_vlan_filter() Michal Jastrzebski
2015-03-07 21:28 ` [dpdk-dev] [PATCH v3 0/2] " De Lara Guarch, Pablo
2015-03-09 11:00 ` Thomas Monjalon
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=60ABE07DBB3A454EB7FAD707B4BB1582138EAEE4@IRSMSX109.ger.corp.intel.com \
--to=michalx.k.jastrzebski@intel.com \
--cc=dev@dpdk.org \
--cc=michael.qiu@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).