[dpdk-dev] [PATCH] net/octeontx2: fix ptype parsing disabled by default

Ferruh Yigit ferruh.yigit at intel.com
Mon Nov 25 15:02:10 CET 2019


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.

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