net: fix inner L2 length in packet type parser
The inner L2 length returned by rte_net_get_ptype() is not properly initialized. If the caller does not zero the header lengths structure, the inner_l2 field will be undefined. Fix it by initializing inner_l2 to 0 when parsing a inner layer. Fixes: 2c15c5377da2 ("net: support NVGRE in software packet type parser") Cc: stable@dpdk.org Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
This commit is contained in:
parent
effd92b96a
commit
b081c1dd2e
@ -396,6 +396,7 @@ uint32_t rte_net_get_ptype(const struct rte_mbuf *m,
|
||||
if ((layers & RTE_PTYPE_INNER_L2_MASK) == 0)
|
||||
return pkt_type;
|
||||
|
||||
hdr_lens->inner_l2_len = 0;
|
||||
if (proto == rte_cpu_to_be_16(ETHER_TYPE_TEB)) {
|
||||
eh = rte_pktmbuf_read(m, off, sizeof(*eh), &eh_copy);
|
||||
if (unlikely(eh == NULL))
|
||||
|
Loading…
x
Reference in New Issue
Block a user