On Wed, 22 Apr 2026 at 12:39, Robin Jarry <[email protected]> wrote: > +static int > +test_get_ptype(struct rte_mempool *pool, const char *pktdata, size_t len, > + uint32_t expected_l2, uint8_t expected_l2_len) > +{ > + struct rte_net_hdr_lens hdr_lens; > + struct rte_mbuf *m; > + uint32_t ptype; > + uint32_t l2; > + char *data; > + > + m = rte_pktmbuf_alloc(pool); > + RTE_TEST_ASSERT_NOT_NULL(m, "cannot allocate mbuf"); > + > + data = rte_pktmbuf_append(m, len); > + if (data == NULL) { > + rte_pktmbuf_free(m); > + RTE_TEST_ASSERT_NOT_NULL(data, "cannot append data"); > + } > + > + memcpy(data, pktdata, len); > + > + ptype = rte_net_get_ptype(m, &hdr_lens, RTE_PTYPE_ALL_MASK); > + l2 = ptype & RTE_PTYPE_L2_MASK; > + > + rte_pktmbuf_free(m); > + > + RTE_TEST_ASSERT_EQUAL(l2, expected_l2, > + "unexpected L2 ptype: got 0x%x, expected 0x%x", > + l2, expected_l2); > + RTE_TEST_ASSERT_EQUAL(hdr_lens.l2_len, expected_l2_len, > + "unexpected l2_len: got %u, expected %u", > + hdr_lens.l2_len, expected_l2_len);
Since this test asks for RTE_PTYPE_ALL_MASK, let's validate the full returned ptype, and the returned offsets. > + > + return 0; -- David Marchand

