> --- a/drivers/net/mana/rx.c
> +++ b/drivers/net/mana/rx.c
> @@ -532,6 +532,21 @@ mana_rx_burst(void *dpdk_rxq, struct rte_mbuf **pkts,
> uint16_t pkts_n)
>                       mbuf->hash.rss = oob-
> >packet_info[pkt_idx].packet_hash;
>               }
> 
> +             if (oob->rx_vlan_tag_present) {
> +                     mbuf->ol_flags |=
> +                             RTE_MBUF_F_RX_VLAN |
> RTE_MBUF_F_RX_VLAN_STRIPPED;
> +                     mbuf->vlan_tci = oob->rx_vlan_id;
> +
> +                     if (!priv->vlan_strip && rte_vlan_insert(&mbuf)) {
> +                             DRV_LOG(ERR, "vlan insert failed");
> +                             rxq->stats.errors++;
> +                             rte_pktmbuf_free(mbuf);
> +
> +                             i++;
> +                             goto drop;

This is not correct. On CQE_RX_COALESCED_4, there may be up to 4 packets in a 
CQE. Need to update pkt_idx on vlan error.

Thanks,

Long

Reply via email to