Add ESP (Encapsulating Security Payload) packet type definitions and handling to the RX packet parsing path. Also update the supported ptypes array to advertise ESP tunnel type support.
Signed-off-by: Gagandeep Singh <[email protected]> --- drivers/net/enetc/base/enetc_hw.h | 4 ++++ drivers/net/enetc/enetc_ethdev.c | 4 +++- drivers/net/enetc/enetc_rxtx.c | 10 ++++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/drivers/net/enetc/base/enetc_hw.h b/drivers/net/enetc/base/enetc_hw.h index 19efadd..f79c950 100644 --- a/drivers/net/enetc/base/enetc_hw.h +++ b/drivers/net/enetc/base/enetc_hw.h @@ -226,6 +226,10 @@ enum enetc_bdr_type {TX, RX}; (0x0003 | ENETC_PKT_TYPE_IPV4) #define ENETC_PKT_TYPE_IPV6_ICMP \ (0x0003 | ENETC_PKT_TYPE_IPV6) +#define ENETC_PKT_TYPE_IPV4_ESP \ + (0x0005 | ENETC_PKT_TYPE_IPV4) +#define ENETC_PKT_TYPE_IPV6_ESP \ + (0x0005 | ENETC_PKT_TYPE_IPV6) /* PCI device info */ struct enetc_hw { diff --git a/drivers/net/enetc/enetc_ethdev.c b/drivers/net/enetc/enetc_ethdev.c index f41f3c1..407179f 100644 --- a/drivers/net/enetc/enetc_ethdev.c +++ b/drivers/net/enetc/enetc_ethdev.c @@ -1,5 +1,5 @@ /* SPDX-License-Identifier: BSD-3-Clause - * Copyright 2018-2024 NXP + * Copyright 2018-2026 NXP */ #include <stdbool.h> @@ -95,6 +95,8 @@ enetc_supported_ptypes_get(struct rte_eth_dev *dev __rte_unused, RTE_PTYPE_L4_UDP, RTE_PTYPE_L4_SCTP, RTE_PTYPE_L4_ICMP, + RTE_PTYPE_TUNNEL_ESP, + RTE_PTYPE_UNKNOWN, }; *no_of_elements = RTE_DIM(ptypes); diff --git a/drivers/net/enetc/enetc_rxtx.c b/drivers/net/enetc/enetc_rxtx.c index b44e6f3..c87349f 100644 --- a/drivers/net/enetc/enetc_rxtx.c +++ b/drivers/net/enetc/enetc_rxtx.c @@ -370,6 +370,16 @@ enetc_dev_rx_parse(struct rte_mbuf *m, uint16_t parse_results) RTE_PTYPE_L3_IPV6 | RTE_PTYPE_L4_UDP; return; + case ENETC_PKT_TYPE_IPV4_ESP: + m->packet_type = RTE_PTYPE_L2_ETHER | + RTE_PTYPE_L3_IPV4 | + RTE_PTYPE_TUNNEL_ESP; + return; + case ENETC_PKT_TYPE_IPV6_ESP: + m->packet_type = RTE_PTYPE_L2_ETHER | + RTE_PTYPE_L3_IPV6 | + RTE_PTYPE_TUNNEL_ESP; + return; case ENETC_PKT_TYPE_IPV4_SCTP: m->packet_type = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4 | -- 2.25.1

