DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Qiu, Michael" <michael.qiu@intel.com>
To: "Jastrzebski, MichalX K" <michalx.k.jastrzebski@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: Wed, 28 Jan 2015 01:38:02 +0000	[thread overview]
Message-ID: <533710CFB86FA344BFBF2D6802E60286CBF07B@shsmsx102.ccr.corp.intel.com> (raw)
In-Reply-To: <1422379175-10004-1-git-send-email-michalx.k.jastrzebski@intel.com>

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?


> 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


  reply	other threads:[~2015-01-28  1:38 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 [this message]
2015-02-20  9:08   ` Jastrzebski, MichalX K
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=533710CFB86FA344BFBF2D6802E60286CBF07B@shsmsx102.ccr.corp.intel.com \
    --to=michael.qiu@intel.com \
    --cc=dev@dpdk.org \
    --cc=michalx.k.jastrzebski@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).