Hi Ferruh, >-----Original Message----- >From: dev <dev-boun...@dpdk.org> On Behalf Of Ferruh Yigit >Sent: Monday, November 25, 2019 7:32 PM >To: Jerin Jacob <jerinjac...@gmail.com>; Pavan Nikhilesh Bhagavatula ><pbhagavat...@marvell.com> >Cc: Jerin Jacob Kollanukkaran <jer...@marvell.com>; Nithin Kumar >Dabilpuram <ndabilpu...@marvell.com>; Kiran Kumar Kokkilagadda ><kirankum...@marvell.com>; dpdk-dev <dev@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 <pbhagavat...@marvell.com> wrote: >>> >>> From: Pavan Nikhilesh <pbhagavat...@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`" Many Thanks, Pavan. >>> >>> Fixes: d2706e15e6fb ("net/octeontx2: support reduced set of packet >types") >>> >>> Signed-off-by: Pavan Nikhilesh <pbhagavat...@marvell.com> >> >> Acked-by: Jerin Jacob <jer...@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 >>>