[PATCH dpdk v3] net: fix VLAN packet type

Robin Jarry rjarry at redhat.com
Thu Apr 23 13:11:11 CEST 2026


Kevin Traynor, Apr 23, 2026 at 12:59:
> Setting pkt_type later has some implications for early returns (now i
> notice that's present in v3 too)
>
> Would this work ?
>
> @@ -358,10 +358,12 @@ uint32_t rte_net_get_ptype(const struct rte_mbuf *m,
>                 struct rte_vlan_hdr vh_copy;
>
> +               if (vlan_depth == 0) {
> +                       pkt_type =
> +                               proto ==
> rte_cpu_to_be_16(RTE_ETHER_TYPE_VLAN) ?
> +                                        RTE_PTYPE_L2_ETHER_VLAN :
> +                                        RTE_PTYPE_L2_ETHER_QINQ;
> +               }
>                 if (++vlan_depth > RTE_NET_VLAN_MAX_DEPTH)
>                         return 0;
> -               pkt_type |=
> -                       proto == rte_cpu_to_be_16(RTE_ETHER_TYPE_VLAN) ?
> -                                RTE_PTYPE_L2_ETHER_VLAN :
> -                                RTE_PTYPE_L2_ETHER_QINQ;
>                 vh = rte_pktmbuf_read(m, off, sizeof(*vh), &vh_copy);
>                 if (unlikely(vh == NULL))

Yes, that works. I'll send a v4.



More information about the stable mailing list