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.
>
next prev parent 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).