DPDK patches and discussions
 help / color / mirror / Atom feed
From: Ferruh Yigit <ferruh.yigit@intel.com>
To: Matan Azrad <matan@mellanox.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: Tue, 20 Mar 2018 15:18:45 +0000	[thread overview]
Message-ID: <65039cd8-f1cb-a42d-84d2-0adae0f6a1f2@intel.com> (raw)
In-Reply-To: <AM4PR0501MB26578F8CC028814A9F1AB3BED2D10@AM4PR0501MB2657.eurprd05.prod.outlook.com>

On 3/14/2018 12:50 PM, Matan Azrad wrote:
> 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

Thanks, I will update this v2.

> 
> 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.
> 

  reply	other threads:[~2018-03-20 15:20 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
2018-03-20 15:18   ` Ferruh Yigit [this message]
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=65039cd8-f1cb-a42d-84d2-0adae0f6a1f2@intel.com \
    --to=ferruh.yigit@intel.com \
    --cc=declan.doherty@intel.com \
    --cc=dev@dpdk.org \
    --cc=matan@mellanox.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).