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

Reply via email to