diff options
Diffstat (limited to 'platform/linux-generic/pktio/dpdk_parse.c')
-rw-r--r-- | platform/linux-generic/pktio/dpdk_parse.c | 28 |
1 files changed, 19 insertions, 9 deletions
diff --git a/platform/linux-generic/pktio/dpdk_parse.c b/platform/linux-generic/pktio/dpdk_parse.c index 0984f06c5..f28f18921 100644 --- a/platform/linux-generic/pktio/dpdk_parse.c +++ b/platform/linux-generic/pktio/dpdk_parse.c @@ -1,5 +1,5 @@ /* Copyright (c) 2018, Linaro Limited - * Copyright (c) 2021, Nokia + * Copyright (c) 2021-2022, Nokia * All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause @@ -26,9 +26,19 @@ #if defined(__PPC64__) && defined(vector) #undef vector #endif +#include <rte_version.h> + +#if RTE_VERSION < RTE_VERSION_NUM(21, 11, 0, 0) + #define RTE_MBUF_F_RX_IP_CKSUM_MASK PKT_RX_IP_CKSUM_MASK + #define RTE_MBUF_F_RX_IP_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD + #define RTE_MBUF_F_RX_IP_CKSUM_UNKNOWN PKT_RX_IP_CKSUM_UNKNOWN + #define RTE_MBUF_F_RX_L4_CKSUM_MASK PKT_RX_L4_CKSUM_MASK + #define RTE_MBUF_F_RX_L4_CKSUM_GOOD PKT_RX_L4_CKSUM_GOOD + #define RTE_MBUF_F_RX_L4_CKSUM_UNKNOWN PKT_RX_L4_CKSUM_UNKNOWN +#endif -#define IP4_CSUM_RESULT(ol_flags) (ol_flags & PKT_RX_IP_CKSUM_MASK) -#define L4_CSUM_RESULT(ol_flags) (ol_flags & PKT_RX_L4_CKSUM_MASK) +#define IP4_CSUM_RESULT(ol_flags) ((ol_flags) & RTE_MBUF_F_RX_IP_CKSUM_MASK) +#define L4_CSUM_RESULT(ol_flags) ((ol_flags) & RTE_MBUF_F_RX_L4_CKSUM_MASK) /** Parser helper function for Ethernet packets */ static inline uint16_t dpdk_parse_eth(packet_parser_t *prs, @@ -174,9 +184,9 @@ static inline uint8_t dpdk_parse_ipv4(packet_parser_t *prs, if (do_csum) { uint64_t packet_csum_result = IP4_CSUM_RESULT(mbuf_ol); - if (packet_csum_result == PKT_RX_IP_CKSUM_GOOD) { + if (packet_csum_result == RTE_MBUF_F_RX_IP_CKSUM_GOOD) { prs->input_flags.l3_chksum_done = 1; - } else if (packet_csum_result != PKT_RX_IP_CKSUM_UNKNOWN) { + } else if (packet_csum_result != RTE_MBUF_F_RX_IP_CKSUM_UNKNOWN) { prs->input_flags.l3_chksum_done = 1; prs->flags.ip_err = 1; prs->flags.l3_chksum_err = 1; @@ -302,9 +312,9 @@ static inline void dpdk_parse_tcp(packet_parser_t *prs, if (do_csum) { uint64_t packet_csum_result = L4_CSUM_RESULT(mbuf_ol); - if (packet_csum_result == PKT_RX_L4_CKSUM_GOOD) { + if (packet_csum_result == RTE_MBUF_F_RX_L4_CKSUM_GOOD) { prs->input_flags.l4_chksum_done = 1; - } else if (packet_csum_result != PKT_RX_L4_CKSUM_UNKNOWN) { + } else if (packet_csum_result != RTE_MBUF_F_RX_L4_CKSUM_UNKNOWN) { prs->input_flags.l4_chksum_done = 1; prs->flags.tcp_err = 1; prs->flags.l4_chksum_err = 1; @@ -332,9 +342,9 @@ static inline void dpdk_parse_udp(packet_parser_t *prs, if (do_csum) { uint64_t packet_csum_result = L4_CSUM_RESULT(mbuf_ol); - if (packet_csum_result == PKT_RX_L4_CKSUM_GOOD) { + if (packet_csum_result == RTE_MBUF_F_RX_L4_CKSUM_GOOD) { prs->input_flags.l4_chksum_done = 1; - } else if (packet_csum_result != PKT_RX_L4_CKSUM_UNKNOWN) { + } else if (packet_csum_result != RTE_MBUF_F_RX_L4_CKSUM_UNKNOWN) { if (prs->input_flags.ipv4 && !udp->chksum) { prs->input_flags.l4_chksum_done = 1; } else { |