DPDK patches and discussions
 help / color / mirror / Atom feed
From: Matan Azrad <matan@mellanox.com>
To: Ferruh Yigit <ferruh.yigit@intel.com>,
	Declan Doherty <declan.doherty@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>, Radu Nicolau <radu.nicolau@intel.com>
Subject: Re: [dpdk-dev] [PATCH] net/bonding: switch to new offloading flags
Date: Wed, 14 Mar 2018 12:50:26 +0000	[thread overview]
Message-ID: <AM4PR0501MB26578F8CC028814A9F1AB3BED2D10@AM4PR0501MB2657.eurprd05.prod.outlook.com> (raw)
In-Reply-To: <20180313122444.160759-1-ferruh.yigit@intel.com>

Hi Ferruh

From: Ferruh Yigit, Sent: Tuesday, March 13, 2018 2:25 PM
> Switch from using deprecated bitfields in rxmode to offloads variable.
> 
> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
> ---
>  drivers/net/bonding/rte_eth_bond_api.c | 3 ++-
> drivers/net/bonding/rte_eth_bond_pmd.c | 9 +++++++--
>  2 files changed, 9 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/net/bonding/rte_eth_bond_api.c
> b/drivers/net/bonding/rte_eth_bond_api.c
> index f854b7375..669004fec 100644
> --- a/drivers/net/bonding/rte_eth_bond_api.c
> +++ b/drivers/net/bonding/rte_eth_bond_api.c
> @@ -194,7 +194,8 @@ slave_vlan_filter_set(uint16_t bonded_port_id,
> uint16_t slave_port_id)
>  	uint16_t first;
> 
>  	bonded_eth_dev = &rte_eth_devices[bonded_port_id];
> -	if (bonded_eth_dev->data->dev_conf.rxmode.hw_vlan_filter == 0)
> +	if ((bonded_eth_dev->data->dev_conf.rxmode.offloads &
> +			DEV_RX_OFFLOAD_VLAN_FILTER) == 0)
>  		return 0;
> 
>  	internals = bonded_eth_dev->data->dev_private;
> diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c
> b/drivers/net/bonding/rte_eth_bond_pmd.c
> index c34c3251f..c18aca222 100644
> --- a/drivers/net/bonding/rte_eth_bond_pmd.c
> +++ b/drivers/net/bonding/rte_eth_bond_pmd.c
> @@ -1818,8 +1818,13 @@ slave_configure(struct rte_eth_dev
> *bonded_eth_dev,
>  				bonded_eth_dev->data-
> >dev_conf.rxmode.mq_mode;
>  	}
> 
> -	slave_eth_dev->data->dev_conf.rxmode.hw_vlan_filter =
> -			bonded_eth_dev->data-
> >dev_conf.rxmode.hw_vlan_filter;
> +	if (bonded_eth_dev->data->dev_conf.rxmode.offloads &
> +			DEV_RX_OFFLOAD_VLAN_FILTER)
> +		slave_eth_dev->data->dev_conf.rxmode.offloads |=
> +				DEV_RX_OFFLOAD_VLAN_FILTER;
> +	else
> +		slave_eth_dev->data->dev_conf.rxmode.offloads &=
> +				~DEV_RX_OFFLOAD_VLAN_FILTER;
> 
>  	nb_rx_queues = bonded_eth_dev->data->nb_rx_queues;
>  	nb_tx_queues = bonded_eth_dev->data->nb_tx_queues;
> --
> 2.13.6

The bonding PMD is using internal variables to save the offload capabilities (Actually holds the offloads intersection set of all the bond slaves).
I think you are missing next:
	You should change the next variable types to uint64_t to support the new offload flags:
		internals->rx_offload_capa
		internals->tx_offload_capa

	You should add the new per queue offload variables to save the intersection set of it too:
		rx_queue_offload_capa
		tx_queue_offload_capa

Questions:
Have you an idea why bonding PMD doesn't adjust the slaves port configurations to the bonding port configuration like he does for slave queue configuration?
Is the responsibility to fill the slave port configuration structure for the application?

What do you think about next configuration checks (both per port and per queue)?
	Validate the actual bonding offloads with the bonding capability.
	Validate that the queue offloads includes all the port configured offloads.

Matan.

  parent reply	other threads:[~2018-03-14 12:50 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-13 12:24 Ferruh Yigit
2018-03-14 10:40 ` Radu Nicolau
2018-03-14 12:50 ` Matan Azrad [this message]
2018-03-20 15:18   ` Ferruh Yigit
2018-03-22 18:14   ` Ferruh Yigit
2018-03-28 19:31     ` Matan Azrad
2018-03-22 18:13 ` [dpdk-dev] [PATCH v2] net/bonding: switch to new offloading API Ferruh Yigit
2018-04-06  9:57   ` Radu Nicolau
2018-04-06 10:18     ` Ferruh Yigit

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=AM4PR0501MB26578F8CC028814A9F1AB3BED2D10@AM4PR0501MB2657.eurprd05.prod.outlook.com \
    --to=matan@mellanox.com \
    --cc=declan.doherty@intel.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=radu.nicolau@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).