[dpdk-dev] [PATCH] net/octeontx2: fix ptype parsing disabled by default
Ferruh Yigit
ferruh.yigit at intel.com
Mon Nov 25 17:09:00 CET 2019
On 11/25/2019 3:55 PM, Pavan Nikhilesh Bhagavatula wrote:
> Hi Ferruh,
>
>> -----Original Message-----
>> From: dev <dev-bounces at dpdk.org> On Behalf Of Ferruh Yigit
>> Sent: Monday, November 25, 2019 7:32 PM
>> To: Jerin Jacob <jerinjacobk at gmail.com>; Pavan Nikhilesh Bhagavatula
>> <pbhagavatula at marvell.com>
>> Cc: Jerin Jacob Kollanukkaran <jerinj at marvell.com>; Nithin Kumar
>> Dabilpuram <ndabilpuram at marvell.com>; Kiran Kumar Kokkilagadda
>> <kirankumark at marvell.com>; dpdk-dev <dev at dpdk.org>
>> Subject: Re: [dpdk-dev] [PATCH] net/octeontx2: fix ptype parsing
>> disabled by default
>>
>> On 11/25/2019 1:00 PM, Jerin Jacob wrote:
>>> On Sat, Nov 23, 2019 at 5:58 PM <pbhagavatula at marvell.com> wrote:
>>>>
>>>> From: Pavan Nikhilesh <pbhagavatula at marvell.com>
>>>>
>>>> Enable Ptype parsing by default, only disable when
>> `rte_eth_dev_set_ptypes`
>>>> is called with ptype_mask as 0.
>>>> This would enable applications that are dependent on packet type
>> parsing
>>>> like l3fwd.
>>
>> This also helps to store the configuration set by
>> 'rte_eth_dev_set_ptypes()',
>> right? Previously it seems this was lost in next 'otx2_nix_configure()'
>> call,
>> not sure if it worth mentioning in commit log.
>>
>
> I agree it is worth mentioning in the commit log. But since it has already been
> pulled to next-net-mrvl can you please add it when you pull it to next-net?.
> Something along the lines of
> "This patch preserves configuration set by `rte_eth_dev_set_ptypes` across
> multiple calls of `rte_eth_dev_configure`"
Updated in next-net, thanks.
>
> Many Thanks,
> Pavan.
>
>
>>>>
>>>> Fixes: d2706e15e6fb ("net/octeontx2: support reduced set of packet
>> types")
>>>>
>>>> Signed-off-by: Pavan Nikhilesh <pbhagavatula at marvell.com>
>>>
>>> Acked-by: Jerin Jacob <jerinj at marvell.com>
>>>
>>> Applied to dpdk-next-net-mrvl/master. Thanks
>>>
>>>
>>>> ---
>>>> drivers/net/octeontx2/otx2_ethdev.c | 4 ++++
>>>> drivers/net/octeontx2/otx2_ethdev.h | 1 +
>>>> drivers/net/octeontx2/otx2_lookup.c | 7 +++++--
>>>> 3 files changed, 10 insertions(+), 2 deletions(-)
>>>>
>>>> diff --git a/drivers/net/octeontx2/otx2_ethdev.c
>> b/drivers/net/octeontx2/otx2_ethdev.c
>>>> index ddab3aa06..eaf7ba917 100644
>>>> --- a/drivers/net/octeontx2/otx2_ethdev.c
>>>> +++ b/drivers/net/octeontx2/otx2_ethdev.c
>>>> @@ -622,6 +622,9 @@ nix_rx_offload_flags(struct rte_eth_dev
>> *eth_dev)
>>>> if ((dev->rx_offloads & DEV_RX_OFFLOAD_TIMESTAMP))
>>>> flags |= NIX_RX_OFFLOAD_TSTAMP_F;
>>>>
>>>> + if (!dev->ptype_disable)
>>>> + flags |= NIX_RX_OFFLOAD_PTYPE_F;
>>>> +
>>>> return flags;
>>>> }
>>>>
>>>> @@ -2168,6 +2171,7 @@ otx2_eth_dev_init(struct rte_eth_dev
>> *eth_dev)
>>>>
>>>> dev->configured = 0;
>>>> dev->drv_inited = true;
>>>> + dev->ptype_disable = 0;
>>>> dev->base = dev->bar2 + (RVU_BLOCK_ADDR_NIX0 << 20);
>>>> dev->lmt_addr = dev->bar2 + (RVU_BLOCK_ADDR_LMT << 20);
>>>>
>>>> diff --git a/drivers/net/octeontx2/otx2_ethdev.h
>> b/drivers/net/octeontx2/otx2_ethdev.h
>>>> index eb1626309..987e7607c 100644
>>>> --- a/drivers/net/octeontx2/otx2_ethdev.h
>>>> +++ b/drivers/net/octeontx2/otx2_ethdev.h
>>>> @@ -276,6 +276,7 @@ struct otx2_eth_dev {
>>>> uint8_t configured_cints;
>>>> uint8_t configured_nb_rx_qs;
>>>> uint8_t configured_nb_tx_qs;
>>>> + uint8_t ptype_disable;
>>>> uint16_t nix_msixoff;
>>>> uintptr_t base;
>>>> uintptr_t lmt_addr;
>>>> diff --git a/drivers/net/octeontx2/otx2_lookup.c
>> b/drivers/net/octeontx2/otx2_lookup.c
>>>> index 17c44e20e..bcf2ff4e8 100644
>>>> --- a/drivers/net/octeontx2/otx2_lookup.c
>>>> +++ b/drivers/net/octeontx2/otx2_lookup.c
>>>> @@ -67,10 +67,13 @@ otx2_nix_ptypes_set(struct rte_eth_dev
>> *eth_dev, uint32_t ptype_mask)
>>>> {
>>>> struct otx2_eth_dev *dev = otx2_eth_pmd_priv(eth_dev);
>>>>
>>>> - if (ptype_mask)
>>>> + if (ptype_mask) {
>>>> dev->rx_offload_flags |= NIX_RX_OFFLOAD_PTYPE_F;
>>>> - else
>>>> + dev->ptype_disable = 0;
>>>> + } else {
>>>> dev->rx_offload_flags &= ~NIX_RX_OFFLOAD_PTYPE_F;
>>>> + dev->ptype_disable = 1;
>>>> + }
>>>>
>>>> otx2_eth_set_rx_function(eth_dev);
>>>>
>>>> --
>>>> 2.17.1
>>>>
>
More information about the dev
mailing list