get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/6863/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 6863,
    "url": "http://patches.dpdk.org/api/patches/6863/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1441199803-27055-4-git-send-email-thomas.monjalon@6wind.com/",
    "project": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<1441199803-27055-4-git-send-email-thomas.monjalon@6wind.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1441199803-27055-4-git-send-email-thomas.monjalon@6wind.com",
    "date": "2015-09-02T13:16:36",
    "name": "[dpdk-dev,v2,03/10] mbuf: remove packet type from offload flags",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "da16dac9ccb19e5f92185bebab261fe3adbc8c35",
    "submitter": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/people/1/?format=api",
        "name": "Thomas Monjalon",
        "email": "thomas.monjalon@6wind.com"
    },
    "delegate": null,
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/1441199803-27055-4-git-send-email-thomas.monjalon@6wind.com/mbox/",
    "series": [],
    "comments": "http://patches.dpdk.org/api/patches/6863/comments/",
    "check": "pending",
    "checks": "http://patches.dpdk.org/api/patches/6863/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@dpdk.org",
        "Delivered-To": "patchwork@dpdk.org",
        "Received": [
            "from [92.243.14.124] (localhost [IPv6:::1])\n\tby dpdk.org (Postfix) with ESMTP id B867D8D94;\n\tWed,  2 Sep 2015 15:18:04 +0200 (CEST)",
            "from mail-wi0-f170.google.com (mail-wi0-f170.google.com\n\t[209.85.212.170]) by dpdk.org (Postfix) with ESMTP id D216B8D94\n\tfor <dev@dpdk.org>; Wed,  2 Sep 2015 15:18:03 +0200 (CEST)",
            "by wicfx3 with SMTP id fx3so17423373wic.1\n\tfor <dev@dpdk.org>; Wed, 02 Sep 2015 06:18:03 -0700 (PDT)",
            "from localhost.localdomain (136-92-190-109.dsl.ovh.fr.\n\t[109.190.92.136]) by smtp.gmail.com with ESMTPSA id\n\ti6sm32392938wje.33.2015.09.02.06.18.00\n\tfor <dev@dpdk.org> (version=TLSv1/SSLv3 cipher=OTHER);\n\tWed, 02 Sep 2015 06:18:02 -0700 (PDT)"
        ],
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20130820;\n\th=x-gm-message-state:from:to:subject:date:message-id:in-reply-to\n\t:references;\n\tbh=JfWuv2cdDZOfz9Wje2sHB65n1/Z9n8iJ3p21p44j/zs=;\n\tb=GN6XzCC85IowLbxKfRbPGWR+V6Euo4rIfa4IeRFVrP5a4IIDVeAmzmGn+n6GVmc0Wi\n\tdlxpNDbkXqjcsuc0IjdwMSWtx3hE4KKtnYsM2yH6hT+PT227GwGpksC0sdX+YA+x8qMA\n\t/aqq5BGj60zacPpNzG39VSE4W/BTGaDhjhrodXNlMLLjAl67gbVMP1r74A+KmjaQAPGv\n\t6lMhR9p4U1st0qQzCHpyAr690wM+QuTcdhlPfoZyB6baRdRuoSiA2LEt1MEbWz7/1fhN\n\tMednaC5rtnysESyK8Tf0ZJQIIOZpLsp+kllw+sFRrsdVYfGaMXuWOoxLTbZ2ojBAHp5k\n\tiB5A==",
        "X-Gm-Message-State": "ALoCoQm37KD27AcMNQx1Xy1Kmf/JWQ18IJ0t4m0W/iwrcknGrS6GMlbEVtDd07+WCQ1dvqaKlpMB",
        "X-Received": "by 10.180.8.164 with SMTP id s4mr1494668wia.5.1441199883578;\n\tWed, 02 Sep 2015 06:18:03 -0700 (PDT)",
        "From": "Thomas Monjalon <thomas.monjalon@6wind.com>",
        "To": "dev@dpdk.org",
        "Date": "Wed,  2 Sep 2015 15:16:36 +0200",
        "Message-Id": "<1441199803-27055-4-git-send-email-thomas.monjalon@6wind.com>",
        "X-Mailer": "git-send-email 2.5.1",
        "In-Reply-To": "<1441199803-27055-1-git-send-email-thomas.monjalon@6wind.com>",
        "References": "<1441138697-25157-1-git-send-email-thomas.monjalon@6wind.com>\n\t<1441199803-27055-1-git-send-email-thomas.monjalon@6wind.com>",
        "Subject": "[dpdk-dev] [PATCH v2 03/10] mbuf: remove packet type from offload\n\tflags",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "patches and discussions about DPDK <dev.dpdk.org>",
        "List-Unsubscribe": "<http://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://dpdk.org/ml/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<http://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "The extended unified packet type is now part of the standard ABI.\nAs mbuf struct is changed, the mbuf library version is incremented.\n\nSigned-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>\nAcked-by: Stephen Hemminger <stephen@networkplumber.org>\nAcked-by: Neil Horman <nhorman@tuxdriver.com>\n---\n app/test-pipeline/pipeline_hash.c                  |  12 -\n app/test-pmd/csumonly.c                            |  14 -\n app/test-pmd/rxonly.c                              |  16 --\n app/test/packet_burst_generator.c                  |  12 -\n doc/guides/rel_notes/deprecation.rst               |   5 -\n doc/guides/rel_notes/release_2_2.rst               |   5 +-\n drivers/net/cxgbe/sge.c                            |  16 --\n drivers/net/e1000/igb_rxtx.c                       |  34 ---\n drivers/net/enic/enic_main.c                       |  25 --\n drivers/net/fm10k/fm10k_rxtx.c                     |  15 --\n drivers/net/i40e/i40e_rxtx.c                       | 293 ---------------------\n drivers/net/ixgbe/ixgbe_rxtx.c                     |  87 ------\n drivers/net/ixgbe/ixgbe_rxtx_vec.c                 | 111 --------\n drivers/net/mlx4/mlx4.c                            |  29 --\n drivers/net/vmxnet3/vmxnet3_rxtx.c                 |   8 -\n examples/ip_fragmentation/main.c                   |  10 -\n examples/ip_reassembly/main.c                      |  10 -\n examples/l3fwd-acl/main.c                          |  27 --\n examples/l3fwd-power/main.c                        |   9 -\n examples/l3fwd/main.c                              | 114 --------\n examples/tep_termination/vxlan.c                   |   5 -\n .../linuxapp/eal/include/exec-env/rte_kni_common.h |   6 -\n lib/librte_mbuf/Makefile                           |   2 +-\n lib/librte_mbuf/rte_mbuf.c                         |  10 -\n lib/librte_mbuf/rte_mbuf.h                         |  28 +-\n 25 files changed, 6 insertions(+), 897 deletions(-)",
    "diff": "diff --git a/app/test-pipeline/pipeline_hash.c b/app/test-pipeline/pipeline_hash.c\nindex aa3f9e5..548615f 100644\n--- a/app/test-pipeline/pipeline_hash.c\n+++ b/app/test-pipeline/pipeline_hash.c\n@@ -459,33 +459,21 @@ app_main_loop_rx_metadata(void) {\n \t\t\tsignature = RTE_MBUF_METADATA_UINT32_PTR(m, 0);\n \t\t\tkey = RTE_MBUF_METADATA_UINT8_PTR(m, 32);\n \n-#ifdef RTE_NEXT_ABI\n \t\t\tif (RTE_ETH_IS_IPV4_HDR(m->packet_type)) {\n-#else\n-\t\t\tif (m->ol_flags & PKT_RX_IPV4_HDR) {\n-#endif\n \t\t\t\tip_hdr = (struct ipv4_hdr *)\n \t\t\t\t\t&m_data[sizeof(struct ether_hdr)];\n \t\t\t\tip_dst = ip_hdr->dst_addr;\n \n \t\t\t\tk32 = (uint32_t *) key;\n \t\t\t\tk32[0] = ip_dst & 0xFFFFFF00;\n-#ifdef RTE_NEXT_ABI\n \t\t\t} else if (RTE_ETH_IS_IPV6_HDR(m->packet_type)) {\n-#else\n-\t\t\t} else {\n-#endif\n \t\t\t\tipv6_hdr = (struct ipv6_hdr *)\n \t\t\t\t\t&m_data[sizeof(struct ether_hdr)];\n \t\t\t\tipv6_dst = ipv6_hdr->dst_addr;\n \n \t\t\t\tmemcpy(key, ipv6_dst, 16);\n-#ifdef RTE_NEXT_ABI\n \t\t\t} else\n \t\t\t\tcontinue;\n-#else\n-\t\t\t}\n-#endif\n \n \t\t\t*signature = test_hash(key, 0, 0);\n \t\t}\ndiff --git a/app/test-pmd/csumonly.c b/app/test-pmd/csumonly.c\nindex 1bf3485..e561dde 100644\n--- a/app/test-pmd/csumonly.c\n+++ b/app/test-pmd/csumonly.c\n@@ -202,14 +202,9 @@ parse_ethernet(struct ether_hdr *eth_hdr, struct testpmd_offload_info *info)\n \n /* Parse a vxlan header */\n static void\n-#ifdef RTE_NEXT_ABI\n parse_vxlan(struct udp_hdr *udp_hdr,\n \t    struct testpmd_offload_info *info,\n \t    uint32_t pkt_type)\n-#else\n-parse_vxlan(struct udp_hdr *udp_hdr, struct testpmd_offload_info *info,\n-\tuint64_t mbuf_olflags)\n-#endif\n {\n \tstruct ether_hdr *eth_hdr;\n \n@@ -217,12 +212,7 @@ parse_vxlan(struct udp_hdr *udp_hdr, struct testpmd_offload_info *info,\n \t * (rfc7348) or that the rx offload flag is set (i40e only\n \t * currently) */\n \tif (udp_hdr->dst_port != _htons(4789) &&\n-#ifdef RTE_NEXT_ABI\n \t\tRTE_ETH_IS_TUNNEL_PKT(pkt_type) == 0)\n-#else\n-\t\t(mbuf_olflags & (PKT_RX_TUNNEL_IPV4_HDR |\n-\t\t\tPKT_RX_TUNNEL_IPV6_HDR)) == 0)\n-#endif\n \t\treturn;\n \n \tinfo->is_tunnel = 1;\n@@ -559,11 +549,7 @@ pkt_burst_checksum_forward(struct fwd_stream *fs)\n \t\t\t\tstruct udp_hdr *udp_hdr;\n \t\t\t\tudp_hdr = (struct udp_hdr *)((char *)l3_hdr +\n \t\t\t\t\tinfo.l3_len);\n-#ifdef RTE_NEXT_ABI\n \t\t\t\tparse_vxlan(udp_hdr, &info, m->packet_type);\n-#else\n-\t\t\t\tparse_vxlan(udp_hdr, &info, m->ol_flags);\n-#endif\n \t\t\t} else if (info.l4_proto == IPPROTO_GRE) {\n \t\t\t\tstruct simple_gre_hdr *gre_hdr;\n \t\t\t\tgre_hdr = (struct simple_gre_hdr *)\ndiff --git a/app/test-pmd/rxonly.c b/app/test-pmd/rxonly.c\nindex ee7fd8d..14555ab 100644\n--- a/app/test-pmd/rxonly.c\n+++ b/app/test-pmd/rxonly.c\n@@ -91,11 +91,7 @@ pkt_burst_receive(struct fwd_stream *fs)\n \tuint64_t ol_flags;\n \tuint16_t nb_rx;\n \tuint16_t i, packet_type;\n-#ifdef RTE_NEXT_ABI\n \tuint16_t is_encapsulation;\n-#else\n-\tuint64_t is_encapsulation;\n-#endif\n \n #ifdef RTE_TEST_PMD_RECORD_CORE_CYCLES\n \tuint64_t start_tsc;\n@@ -138,13 +134,7 @@ pkt_burst_receive(struct fwd_stream *fs)\n \t\teth_type = RTE_BE_TO_CPU_16(eth_hdr->ether_type);\n \t\tol_flags = mb->ol_flags;\n \t\tpacket_type = mb->packet_type;\n-\n-#ifdef RTE_NEXT_ABI\n \t\tis_encapsulation = RTE_ETH_IS_TUNNEL_PKT(packet_type);\n-#else\n-\t\tis_encapsulation = ol_flags & (PKT_RX_TUNNEL_IPV4_HDR |\n-\t\t\t\tPKT_RX_TUNNEL_IPV6_HDR);\n-#endif\n \n \t\tprint_ether_addr(\"  src=\", &eth_hdr->s_addr);\n \t\tprint_ether_addr(\" - dst=\", &eth_hdr->d_addr);\n@@ -171,7 +161,6 @@ pkt_burst_receive(struct fwd_stream *fs)\n \t\tif (ol_flags & PKT_RX_QINQ_PKT)\n \t\t\tprintf(\" - QinQ VLAN tci=0x%x, VLAN tci outer=0x%x\",\n \t\t\t\t\tmb->vlan_tci, mb->vlan_tci_outer);\n-#ifdef RTE_NEXT_ABI\n \t\tif (mb->packet_type) {\n \t\t\tuint32_t ptype;\n \n@@ -341,7 +330,6 @@ pkt_burst_receive(struct fwd_stream *fs)\n \t\t\tprintf(\"\\n\");\n \t\t} else\n \t\t\tprintf(\"Unknown packet type\\n\");\n-#endif /* RTE_NEXT_ABI */\n \t\tif (is_encapsulation) {\n \t\t\tstruct ipv4_hdr *ipv4_hdr;\n \t\t\tstruct ipv6_hdr *ipv6_hdr;\n@@ -355,11 +343,7 @@ pkt_burst_receive(struct fwd_stream *fs)\n \t\t\tl2_len  = sizeof(struct ether_hdr);\n \n \t\t\t /* Do not support ipv4 option field */\n-#ifdef RTE_NEXT_ABI\n \t\t\tif (RTE_ETH_IS_IPV4_HDR(packet_type)) {\n-#else\n-\t\t\tif (ol_flags & PKT_RX_TUNNEL_IPV4_HDR) {\n-#endif\n \t\t\t\tl3_len = sizeof(struct ipv4_hdr);\n \t\t\t\tipv4_hdr = rte_pktmbuf_mtod_offset(mb,\n \t\t\t\t\t\t\t\t   struct ipv4_hdr *,\ndiff --git a/app/test/packet_burst_generator.c b/app/test/packet_burst_generator.c\nindex d9d808b..a93c3b5 100644\n--- a/app/test/packet_burst_generator.c\n+++ b/app/test/packet_burst_generator.c\n@@ -273,21 +273,9 @@ nomore_mbuf:\n \t\tif (ipv4) {\n \t\t\tpkt->vlan_tci  = ETHER_TYPE_IPv4;\n \t\t\tpkt->l3_len = sizeof(struct ipv4_hdr);\n-#ifndef RTE_NEXT_ABI\n-\t\t\tif (vlan_enabled)\n-\t\t\t\tpkt->ol_flags = PKT_RX_IPV4_HDR | PKT_RX_VLAN_PKT;\n-\t\t\telse\n-\t\t\t\tpkt->ol_flags = PKT_RX_IPV4_HDR;\n-#endif\n \t\t} else {\n \t\t\tpkt->vlan_tci  = ETHER_TYPE_IPv6;\n \t\t\tpkt->l3_len = sizeof(struct ipv6_hdr);\n-#ifndef RTE_NEXT_ABI\n-\t\t\tif (vlan_enabled)\n-\t\t\t\tpkt->ol_flags = PKT_RX_IPV6_HDR | PKT_RX_VLAN_PKT;\n-\t\t\telse\n-\t\t\t\tpkt->ol_flags = PKT_RX_IPV6_HDR;\n-#endif\n \t\t}\n \n \t\tpkts_burst[nb_pkt] = pkt;\ndiff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst\nindex 991a777..639ab18 100644\n--- a/doc/guides/rel_notes/deprecation.rst\n+++ b/doc/guides/rel_notes/deprecation.rst\n@@ -24,11 +24,6 @@ Deprecation Notices\n * The field mem_location of the rte_lpm structure is deprecated and should be\n   removed as well as the macros RTE_LPM_HEAP and RTE_LPM_MEMZONE.\n \n-* Significant ABI changes are planned for struct rte_mbuf, struct rte_kni_mbuf,\n-  and several ``PKT_RX_`` flags will be removed, to support unified packet type\n-  from release 2.1. Those changes may be enabled in the upcoming release 2.1\n-  with CONFIG_RTE_NEXT_ABI.\n-\n * librte_malloc library has been integrated into librte_eal. The 2.1 release\n   creates a dummy/empty malloc library to fulfill binaries with dynamic linking\n   dependencies on librte_malloc.so. Such dummy library will not be created from\ndiff --git a/doc/guides/rel_notes/release_2_2.rst b/doc/guides/rel_notes/release_2_2.rst\nindex 388d2e3..3a6d2cc 100644\n--- a/doc/guides/rel_notes/release_2_2.rst\n+++ b/doc/guides/rel_notes/release_2_2.rst\n@@ -23,6 +23,9 @@ ABI Changes\n * The EAL and ethdev structures rte_intr_handle and rte_eth_conf were changed\n   to support Rx interrupt. It was already done in 2.1 for CONFIG_RTE_NEXT_ABI.\n \n+* The mbuf structure was changed to support unified packet type.\n+  It was already done in 2.1 for CONFIG_RTE_NEXT_ABI.\n+\n \n Shared Library Versions\n -----------------------\n@@ -45,7 +48,7 @@ The libraries prepended with a plus sign were incremented in this version.\n      librte_kvargs.so.1\n      librte_lpm.so.1\n      librte_malloc.so.1\n-     librte_mbuf.so.1\n+   + librte_mbuf.so.2\n      librte_mempool.so.1\n      librte_meter.so.1\n      librte_pipeline.so.1\ndiff --git a/drivers/net/cxgbe/sge.c b/drivers/net/cxgbe/sge.c\nindex d570d33..6eb1244 100644\n--- a/drivers/net/cxgbe/sge.c\n+++ b/drivers/net/cxgbe/sge.c\n@@ -1299,22 +1299,14 @@ int t4_ethrx_handler(struct sge_rspq *q, const __be64 *rsp,\n \n \tmbuf->port = pkt->iff;\n \tif (pkt->l2info & htonl(F_RXF_IP)) {\n-#ifdef RTE_NEXT_ABI\n \t\tmbuf->packet_type = RTE_PTYPE_L3_IPV4;\n-#else\n-\t\tmbuf->ol_flags |= PKT_RX_IPV4_HDR;\n-#endif\n \t\tif (unlikely(!csum_ok))\n \t\t\tmbuf->ol_flags |= PKT_RX_IP_CKSUM_BAD;\n \n \t\tif ((pkt->l2info & htonl(F_RXF_UDP | F_RXF_TCP)) && !csum_ok)\n \t\t\tmbuf->ol_flags |= PKT_RX_L4_CKSUM_BAD;\n \t} else if (pkt->l2info & htonl(F_RXF_IP6)) {\n-#ifdef RTE_NEXT_ABI\n \t\tmbuf->packet_type = RTE_PTYPE_L3_IPV6;\n-#else\n-\t\tmbuf->ol_flags |= PKT_RX_IPV6_HDR;\n-#endif\n \t}\n \n \tmbuf->port = pkt->iff;\n@@ -1419,11 +1411,7 @@ static int process_responses(struct sge_rspq *q, int budget,\n \t\t\tunmap_rx_buf(&rxq->fl);\n \n \t\t\tif (cpl->l2info & htonl(F_RXF_IP)) {\n-#ifdef RTE_NEXT_ABI\n \t\t\t\tpkt->packet_type = RTE_PTYPE_L3_IPV4;\n-#else\n-\t\t\t\tpkt->ol_flags |= PKT_RX_IPV4_HDR;\n-#endif\n \t\t\t\tif (unlikely(!csum_ok))\n \t\t\t\t\tpkt->ol_flags |= PKT_RX_IP_CKSUM_BAD;\n \n@@ -1431,11 +1419,7 @@ static int process_responses(struct sge_rspq *q, int budget,\n \t\t\t\t     htonl(F_RXF_UDP | F_RXF_TCP)) && !csum_ok)\n \t\t\t\t\tpkt->ol_flags |= PKT_RX_L4_CKSUM_BAD;\n \t\t\t} else if (cpl->l2info & htonl(F_RXF_IP6)) {\n-#ifdef RTE_NEXT_ABI\n \t\t\t\tpkt->packet_type = RTE_PTYPE_L3_IPV6;\n-#else\n-\t\t\t\tpkt->ol_flags |= PKT_RX_IPV6_HDR;\n-#endif\n \t\t\t}\n \n \t\t\tif (!rss_hdr->filter_tid && rss_hdr->hash_type) {\ndiff --git a/drivers/net/e1000/igb_rxtx.c b/drivers/net/e1000/igb_rxtx.c\nindex b13930e..19905fd 100644\n--- a/drivers/net/e1000/igb_rxtx.c\n+++ b/drivers/net/e1000/igb_rxtx.c\n@@ -590,7 +590,6 @@ eth_igb_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,\n  *  RX functions\n  *\n  **********************************************************************/\n-#ifdef RTE_NEXT_ABI\n #define IGB_PACKET_TYPE_IPV4              0X01\n #define IGB_PACKET_TYPE_IPV4_TCP          0X11\n #define IGB_PACKET_TYPE_IPV4_UDP          0X21\n@@ -684,35 +683,6 @@ rx_desc_hlen_type_rss_to_pkt_flags(uint32_t hl_tp_rs)\n \n \treturn pkt_flags;\n }\n-#else /* RTE_NEXT_ABI */\n-static inline uint64_t\n-rx_desc_hlen_type_rss_to_pkt_flags(uint32_t hl_tp_rs)\n-{\n-\tuint64_t pkt_flags;\n-\n-\tstatic uint64_t ip_pkt_types_map[16] = {\n-\t\t0, PKT_RX_IPV4_HDR, PKT_RX_IPV4_HDR_EXT, PKT_RX_IPV4_HDR_EXT,\n-\t\tPKT_RX_IPV6_HDR, 0, 0, 0,\n-\t\tPKT_RX_IPV6_HDR_EXT, 0, 0, 0,\n-\t\tPKT_RX_IPV6_HDR_EXT, 0, 0, 0,\n-\t};\n-\n-#if defined(RTE_LIBRTE_IEEE1588)\n-\tstatic uint32_t ip_pkt_etqf_map[8] = {\n-\t\t0, 0, 0, PKT_RX_IEEE1588_PTP,\n-\t\t0, 0, 0, 0,\n-\t};\n-\n-\tpkt_flags = (hl_tp_rs & E1000_RXDADV_PKTTYPE_ETQF) ?\n-\t\t\t\tip_pkt_etqf_map[(hl_tp_rs >> 4) & 0x07] :\n-\t\t\t\tip_pkt_types_map[(hl_tp_rs >> 4) & 0x0F];\n-#else\n-\tpkt_flags = (hl_tp_rs & E1000_RXDADV_PKTTYPE_ETQF) ? 0 :\n-\t\t\t\tip_pkt_types_map[(hl_tp_rs >> 4) & 0x0F];\n-#endif\n-\treturn pkt_flags | (((hl_tp_rs & 0x0F) == 0) ?  0 : PKT_RX_RSS_HASH);\n-}\n-#endif /* RTE_NEXT_ABI */\n \n static inline uint64_t\n rx_desc_status_to_pkt_flags(uint32_t rx_status)\n@@ -886,10 +856,8 @@ eth_igb_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts,\n \t\tpkt_flags = pkt_flags | rx_desc_status_to_pkt_flags(staterr);\n \t\tpkt_flags = pkt_flags | rx_desc_error_to_pkt_flags(staterr);\n \t\trxm->ol_flags = pkt_flags;\n-#ifdef RTE_NEXT_ABI\n \t\trxm->packet_type = igb_rxd_pkt_info_to_pkt_type(rxd.wb.lower.\n \t\t\t\t\t\tlo_dword.hs_rss.pkt_info);\n-#endif\n \n \t\t/*\n \t\t * Store the mbuf address into the next entry of the array\n@@ -1124,10 +1092,8 @@ eth_igb_recv_scattered_pkts(void *rx_queue, struct rte_mbuf **rx_pkts,\n \t\tpkt_flags = pkt_flags | rx_desc_status_to_pkt_flags(staterr);\n \t\tpkt_flags = pkt_flags | rx_desc_error_to_pkt_flags(staterr);\n \t\tfirst_seg->ol_flags = pkt_flags;\n-#ifdef RTE_NEXT_ABI\n \t\tfirst_seg->packet_type = igb_rxd_pkt_info_to_pkt_type(rxd.wb.\n \t\t\t\t\tlower.lo_dword.hs_rss.pkt_info);\n-#endif\n \n \t\t/* Prefetch data of first segment, if configured to do so. */\n \t\trte_packet_prefetch((char *)first_seg->buf_addr +\ndiff --git a/drivers/net/enic/enic_main.c b/drivers/net/enic/enic_main.c\nindex f47e96c..3b8719f 100644\n--- a/drivers/net/enic/enic_main.c\n+++ b/drivers/net/enic/enic_main.c\n@@ -423,11 +423,7 @@ static int enic_rq_indicate_buf(struct vnic_rq *rq,\n \t\trx_pkt->pkt_len = bytes_written;\n \n \t\tif (ipv4) {\n-#ifdef RTE_NEXT_ABI\n \t\t\trx_pkt->packet_type = RTE_PTYPE_L3_IPV4;\n-#else\n-\t\t\trx_pkt->ol_flags |= PKT_RX_IPV4_HDR;\n-#endif\n \t\t\tif (!csum_not_calc) {\n \t\t\t\tif (unlikely(!ipv4_csum_ok))\n \t\t\t\t\trx_pkt->ol_flags |= PKT_RX_IP_CKSUM_BAD;\n@@ -436,11 +432,7 @@ static int enic_rq_indicate_buf(struct vnic_rq *rq,\n \t\t\t\t\trx_pkt->ol_flags |= PKT_RX_L4_CKSUM_BAD;\n \t\t\t}\n \t\t} else if (ipv6)\n-#ifdef RTE_NEXT_ABI\n \t\t\trx_pkt->packet_type = RTE_PTYPE_L3_IPV6;\n-#else\n-\t\t\trx_pkt->ol_flags |= PKT_RX_IPV6_HDR;\n-#endif\n \t} else {\n \t\t/* Header split */\n \t\tif (sop && !eop) {\n@@ -453,11 +445,7 @@ static int enic_rq_indicate_buf(struct vnic_rq *rq,\n \t\t\t\t*rx_pkt_bucket = rx_pkt;\n \t\t\t\trx_pkt->pkt_len = bytes_written;\n \t\t\t\tif (ipv4) {\n-#ifdef RTE_NEXT_ABI\n \t\t\t\t\trx_pkt->packet_type = RTE_PTYPE_L3_IPV4;\n-#else\n-\t\t\t\t\trx_pkt->ol_flags |= PKT_RX_IPV4_HDR;\n-#endif\n \t\t\t\t\tif (!csum_not_calc) {\n \t\t\t\t\t\tif (unlikely(!ipv4_csum_ok))\n \t\t\t\t\t\t\trx_pkt->ol_flags |=\n@@ -469,22 +457,14 @@ static int enic_rq_indicate_buf(struct vnic_rq *rq,\n \t\t\t\t\t\t\t    PKT_RX_L4_CKSUM_BAD;\n \t\t\t\t\t}\n \t\t\t\t} else if (ipv6)\n-#ifdef RTE_NEXT_ABI\n \t\t\t\t\trx_pkt->packet_type = RTE_PTYPE_L3_IPV6;\n-#else\n-\t\t\t\t\trx_pkt->ol_flags |= PKT_RX_IPV6_HDR;\n-#endif\n \t\t\t} else {\n \t\t\t\t/* Payload */\n \t\t\t\thdr_rx_pkt = *rx_pkt_bucket;\n \t\t\t\thdr_rx_pkt->pkt_len += bytes_written;\n \t\t\t\tif (ipv4) {\n-#ifdef RTE_NEXT_ABI\n \t\t\t\t\thdr_rx_pkt->packet_type =\n \t\t\t\t\t\tRTE_PTYPE_L3_IPV4;\n-#else\n-\t\t\t\t\thdr_rx_pkt->ol_flags |= PKT_RX_IPV4_HDR;\n-#endif\n \t\t\t\t\tif (!csum_not_calc) {\n \t\t\t\t\t\tif (unlikely(!ipv4_csum_ok))\n \t\t\t\t\t\t\thdr_rx_pkt->ol_flags |=\n@@ -496,13 +476,8 @@ static int enic_rq_indicate_buf(struct vnic_rq *rq,\n \t\t\t\t\t\t\t    PKT_RX_L4_CKSUM_BAD;\n \t\t\t\t\t}\n \t\t\t\t} else if (ipv6)\n-#ifdef RTE_NEXT_ABI\n \t\t\t\t\thdr_rx_pkt->packet_type =\n \t\t\t\t\t\tRTE_PTYPE_L3_IPV6;\n-#else\n-\t\t\t\t\thdr_rx_pkt->ol_flags |= PKT_RX_IPV6_HDR;\n-#endif\n-\n \t\t\t}\n \t\t}\n \t}\ndiff --git a/drivers/net/fm10k/fm10k_rxtx.c b/drivers/net/fm10k/fm10k_rxtx.c\nindex b5fa2e6..d3f7b89 100644\n--- a/drivers/net/fm10k/fm10k_rxtx.c\n+++ b/drivers/net/fm10k/fm10k_rxtx.c\n@@ -68,7 +68,6 @@ static inline void dump_rxd(union fm10k_rx_desc *rxd)\n static inline void\n rx_desc_to_ol_flags(struct rte_mbuf *m, const union fm10k_rx_desc *d)\n {\n-#ifdef RTE_NEXT_ABI\n \tstatic const uint32_t\n \t\tptype_table[FM10K_RXD_PKTTYPE_MASK >> FM10K_RXD_PKTTYPE_SHIFT]\n \t\t\t__rte_cache_aligned = {\n@@ -91,14 +90,6 @@ rx_desc_to_ol_flags(struct rte_mbuf *m, const union fm10k_rx_desc *d)\n \n \tm->packet_type = ptype_table[(d->w.pkt_info & FM10K_RXD_PKTTYPE_MASK)\n \t\t\t\t\t\t>> FM10K_RXD_PKTTYPE_SHIFT];\n-#else /* RTE_NEXT_ABI */\n-\tuint16_t ptype;\n-\tstatic const uint16_t pt_lut[] = { 0,\n-\t\tPKT_RX_IPV4_HDR, PKT_RX_IPV4_HDR_EXT,\n-\t\tPKT_RX_IPV6_HDR, PKT_RX_IPV6_HDR_EXT,\n-\t\t0, 0, 0\n-\t};\n-#endif /* RTE_NEXT_ABI */\n \n \tif (d->w.pkt_info & FM10K_RXD_RSSTYPE_MASK)\n \t\tm->ol_flags |= PKT_RX_RSS_HASH;\n@@ -121,12 +112,6 @@ rx_desc_to_ol_flags(struct rte_mbuf *m, const union fm10k_rx_desc *d)\n \n \tif (unlikely(d->d.staterr & FM10K_RXD_STATUS_RXE))\n \t\tm->ol_flags |= PKT_RX_RECIP_ERR;\n-\n-#ifndef RTE_NEXT_ABI\n-\tptype = (d->d.data & FM10K_RXD_PKTTYPE_MASK_L3) >>\n-\t\t\t\t\t\tFM10K_RXD_PKTTYPE_SHIFT;\n-\tm->ol_flags |= pt_lut[(uint8_t)ptype];\n-#endif\n }\n \n uint16_t\ndiff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c\nindex eae4ab0..fd656d5 100644\n--- a/drivers/net/i40e/i40e_rxtx.c\n+++ b/drivers/net/i40e/i40e_rxtx.c\n@@ -188,11 +188,9 @@ i40e_get_iee15888_flags(struct rte_mbuf *mb, uint64_t qword)\n \t\t\t\t  | I40E_RXD_QW1_STATUS_TSYNINDX_MASK))\n \t\t\t\t    >> I40E_RX_DESC_STATUS_TSYNINDX_SHIFT;\n \n-#ifdef RTE_NEXT_ABI\n \tif ((mb->packet_type & RTE_PTYPE_L2_MASK)\n \t\t\t== RTE_PTYPE_L2_ETHER_TIMESYNC)\n \t\tpkt_flags = PKT_RX_IEEE1588_PTP;\n-#endif\n \tif (tsyn & 0x04) {\n \t\tpkt_flags |= PKT_RX_IEEE1588_TMST;\n \t\tmb->timesync = tsyn & 0x03;\n@@ -202,7 +200,6 @@ i40e_get_iee15888_flags(struct rte_mbuf *mb, uint64_t qword)\n }\n #endif\n \n-#ifdef RTE_NEXT_ABI\n /* For each value it means, datasheet of hardware can tell more details */\n static inline uint32_t\n i40e_rxd_pkt_type_mapping(uint8_t ptype)\n@@ -735,275 +732,6 @@ i40e_rxd_pkt_type_mapping(uint8_t ptype)\n \n \treturn ptype_table[ptype];\n }\n-#else /* RTE_NEXT_ABI */\n-/* Translate pkt types to pkt flags */\n-static inline uint64_t\n-i40e_rxd_ptype_to_pkt_flags(uint64_t qword)\n-{\n-\tuint8_t ptype = (uint8_t)((qword & I40E_RXD_QW1_PTYPE_MASK) >>\n-\t\t\t\t\tI40E_RXD_QW1_PTYPE_SHIFT);\n-\tstatic const uint64_t ip_ptype_map[I40E_MAX_PKT_TYPE] = {\n-\t\t0, /* PTYPE 0 */\n-\t\t0, /* PTYPE 1 */\n-\t\tPKT_RX_IEEE1588_PTP, /* PTYPE 2 */\n-\t\t0, /* PTYPE 3 */\n-\t\t0, /* PTYPE 4 */\n-\t\t0, /* PTYPE 5 */\n-\t\t0, /* PTYPE 6 */\n-\t\t0, /* PTYPE 7 */\n-\t\t0, /* PTYPE 8 */\n-\t\t0, /* PTYPE 9 */\n-\t\t0, /* PTYPE 10 */\n-\t\t0, /* PTYPE 11 */\n-\t\t0, /* PTYPE 12 */\n-\t\t0, /* PTYPE 13 */\n-\t\t0, /* PTYPE 14 */\n-\t\t0, /* PTYPE 15 */\n-\t\t0, /* PTYPE 16 */\n-\t\t0, /* PTYPE 17 */\n-\t\t0, /* PTYPE 18 */\n-\t\t0, /* PTYPE 19 */\n-\t\t0, /* PTYPE 20 */\n-\t\t0, /* PTYPE 21 */\n-\t\tPKT_RX_IPV4_HDR, /* PTYPE 22 */\n-\t\tPKT_RX_IPV4_HDR, /* PTYPE 23 */\n-\t\tPKT_RX_IPV4_HDR, /* PTYPE 24 */\n-\t\t0, /* PTYPE 25 */\n-\t\tPKT_RX_IPV4_HDR, /* PTYPE 26 */\n-\t\tPKT_RX_IPV4_HDR, /* PTYPE 27 */\n-\t\tPKT_RX_IPV4_HDR, /* PTYPE 28 */\n-\t\tPKT_RX_IPV4_HDR_EXT, /* PTYPE 29 */\n-\t\tPKT_RX_IPV4_HDR_EXT, /* PTYPE 30 */\n-\t\tPKT_RX_IPV4_HDR_EXT, /* PTYPE 31 */\n-\t\t0, /* PTYPE 32 */\n-\t\tPKT_RX_IPV4_HDR_EXT, /* PTYPE 33 */\n-\t\tPKT_RX_IPV4_HDR_EXT, /* PTYPE 34 */\n-\t\tPKT_RX_IPV4_HDR_EXT, /* PTYPE 35 */\n-\t\tPKT_RX_IPV4_HDR_EXT, /* PTYPE 36 */\n-\t\tPKT_RX_IPV4_HDR_EXT, /* PTYPE 37 */\n-\t\tPKT_RX_IPV4_HDR_EXT, /* PTYPE 38 */\n-\t\t0, /* PTYPE 39 */\n-\t\tPKT_RX_IPV4_HDR_EXT, /* PTYPE 40 */\n-\t\tPKT_RX_IPV4_HDR_EXT, /* PTYPE 41 */\n-\t\tPKT_RX_IPV4_HDR_EXT, /* PTYPE 42 */\n-\t\tPKT_RX_IPV4_HDR_EXT, /* PTYPE 43 */\n-\t\tPKT_RX_IPV4_HDR_EXT, /* PTYPE 44 */\n-\t\tPKT_RX_IPV4_HDR_EXT, /* PTYPE 45 */\n-\t\tPKT_RX_IPV4_HDR_EXT, /* PTYPE 46 */\n-\t\t0, /* PTYPE 47 */\n-\t\tPKT_RX_IPV4_HDR_EXT, /* PTYPE 48 */\n-\t\tPKT_RX_IPV4_HDR_EXT, /* PTYPE 49 */\n-\t\tPKT_RX_IPV4_HDR_EXT, /* PTYPE 50 */\n-\t\tPKT_RX_IPV4_HDR_EXT, /* PTYPE 51 */\n-\t\tPKT_RX_IPV4_HDR_EXT, /* PTYPE 52 */\n-\t\tPKT_RX_IPV4_HDR_EXT, /* PTYPE 53 */\n-\t\t0, /* PTYPE 54 */\n-\t\tPKT_RX_IPV4_HDR_EXT, /* PTYPE 55 */\n-\t\tPKT_RX_IPV4_HDR_EXT, /* PTYPE 56 */\n-\t\tPKT_RX_IPV4_HDR_EXT, /* PTYPE 57 */\n-\t\tPKT_RX_IPV4_HDR_EXT, /* PTYPE 58 */\n-\t\tPKT_RX_TUNNEL_IPV4_HDR, /* PTYPE 59 */\n-\t\tPKT_RX_TUNNEL_IPV4_HDR, /* PTYPE 60 */\n-\t\tPKT_RX_TUNNEL_IPV4_HDR, /* PTYPE 61 */\n-\t\t0, /* PTYPE 62 */\n-\t\tPKT_RX_TUNNEL_IPV4_HDR, /* PTYPE 63 */\n-\t\tPKT_RX_TUNNEL_IPV4_HDR, /* PTYPE 64 */\n-\t\tPKT_RX_TUNNEL_IPV4_HDR, /* PTYPE 65 */\n-\t\tPKT_RX_TUNNEL_IPV4_HDR, /* PTYPE 66 */\n-\t\tPKT_RX_TUNNEL_IPV4_HDR, /* PTYPE 67 */\n-\t\tPKT_RX_TUNNEL_IPV4_HDR, /* PTYPE 68 */\n-\t\t0, /* PTYPE 69 */\n-\t\tPKT_RX_TUNNEL_IPV4_HDR, /* PTYPE 70 */\n-\t\tPKT_RX_TUNNEL_IPV4_HDR, /* PTYPE 71 */\n-\t\tPKT_RX_TUNNEL_IPV4_HDR, /* PTYPE 72 */\n-\t\tPKT_RX_TUNNEL_IPV4_HDR, /* PTYPE 73 */\n-\t\tPKT_RX_TUNNEL_IPV4_HDR, /* PTYPE 74 */\n-\t\tPKT_RX_TUNNEL_IPV4_HDR, /* PTYPE 75 */\n-\t\tPKT_RX_TUNNEL_IPV4_HDR, /* PTYPE 76 */\n-\t\t0, /* PTYPE 77 */\n-\t\tPKT_RX_TUNNEL_IPV4_HDR, /* PTYPE 78 */\n-\t\tPKT_RX_TUNNEL_IPV4_HDR, /* PTYPE 79 */\n-\t\tPKT_RX_TUNNEL_IPV4_HDR, /* PTYPE 80 */\n-\t\tPKT_RX_TUNNEL_IPV4_HDR, /* PTYPE 81 */\n-\t\tPKT_RX_TUNNEL_IPV4_HDR, /* PTYPE 82 */\n-\t\tPKT_RX_TUNNEL_IPV4_HDR, /* PTYPE 83 */\n-\t\t0, /* PTYPE 84 */\n-\t\tPKT_RX_TUNNEL_IPV4_HDR, /* PTYPE 85 */\n-\t\tPKT_RX_TUNNEL_IPV4_HDR, /* PTYPE 86 */\n-\t\tPKT_RX_IPV4_HDR_EXT, /* PTYPE 87 */\n-\t\tPKT_RX_IPV6_HDR, /* PTYPE 88 */\n-\t\tPKT_RX_IPV6_HDR, /* PTYPE 89 */\n-\t\tPKT_RX_IPV6_HDR, /* PTYPE 90 */\n-\t\t0, /* PTYPE 91 */\n-\t\tPKT_RX_IPV6_HDR, /* PTYPE 92 */\n-\t\tPKT_RX_IPV6_HDR, /* PTYPE 93 */\n-\t\tPKT_RX_IPV6_HDR, /* PTYPE 94 */\n-\t\tPKT_RX_IPV6_HDR_EXT, /* PTYPE 95 */\n-\t\tPKT_RX_IPV6_HDR_EXT, /* PTYPE 96 */\n-\t\tPKT_RX_IPV6_HDR_EXT, /* PTYPE 97 */\n-\t\t0, /* PTYPE 98 */\n-\t\tPKT_RX_IPV6_HDR_EXT, /* PTYPE 99 */\n-\t\tPKT_RX_IPV6_HDR_EXT, /* PTYPE 100 */\n-\t\tPKT_RX_IPV6_HDR_EXT, /* PTYPE 101 */\n-\t\tPKT_RX_IPV6_HDR_EXT, /* PTYPE 102 */\n-\t\tPKT_RX_IPV6_HDR_EXT, /* PTYPE 103 */\n-\t\tPKT_RX_IPV6_HDR_EXT, /* PTYPE 104 */\n-\t\t0, /* PTYPE 105 */\n-\t\tPKT_RX_IPV6_HDR_EXT, /* PTYPE 106 */\n-\t\tPKT_RX_IPV6_HDR_EXT, /* PTYPE 107 */\n-\t\tPKT_RX_IPV6_HDR_EXT, /* PTYPE 108 */\n-\t\tPKT_RX_IPV6_HDR_EXT, /* PTYPE 109 */\n-\t\tPKT_RX_IPV6_HDR_EXT, /* PTYPE 110 */\n-\t\tPKT_RX_IPV6_HDR_EXT, /* PTYPE 111 */\n-\t\tPKT_RX_IPV6_HDR_EXT, /* PTYPE 112 */\n-\t\t0, /* PTYPE 113 */\n-\t\tPKT_RX_IPV6_HDR_EXT, /* PTYPE 114 */\n-\t\tPKT_RX_IPV6_HDR_EXT, /* PTYPE 115 */\n-\t\tPKT_RX_IPV6_HDR_EXT, /* PTYPE 116 */\n-\t\tPKT_RX_IPV6_HDR_EXT, /* PTYPE 117 */\n-\t\tPKT_RX_IPV6_HDR_EXT, /* PTYPE 118 */\n-\t\tPKT_RX_IPV6_HDR_EXT, /* PTYPE 119 */\n-\t\t0, /* PTYPE 120 */\n-\t\tPKT_RX_IPV6_HDR_EXT, /* PTYPE 121 */\n-\t\tPKT_RX_IPV6_HDR_EXT, /* PTYPE 122 */\n-\t\tPKT_RX_IPV6_HDR_EXT, /* PTYPE 123 */\n-\t\tPKT_RX_IPV6_HDR_EXT, /* PTYPE 124 */\n-\t\tPKT_RX_TUNNEL_IPV6_HDR, /* PTYPE 125 */\n-\t\tPKT_RX_TUNNEL_IPV6_HDR, /* PTYPE 126 */\n-\t\tPKT_RX_TUNNEL_IPV6_HDR, /* PTYPE 127 */\n-\t\t0, /* PTYPE 128 */\n-\t\tPKT_RX_TUNNEL_IPV6_HDR, /* PTYPE 129 */\n-\t\tPKT_RX_TUNNEL_IPV6_HDR, /* PTYPE 130 */\n-\t\tPKT_RX_TUNNEL_IPV6_HDR, /* PTYPE 131 */\n-\t\tPKT_RX_TUNNEL_IPV6_HDR, /* PTYPE 132 */\n-\t\tPKT_RX_TUNNEL_IPV6_HDR, /* PTYPE 133 */\n-\t\tPKT_RX_TUNNEL_IPV6_HDR, /* PTYPE 134 */\n-\t\t0, /* PTYPE 135 */\n-\t\tPKT_RX_TUNNEL_IPV6_HDR, /* PTYPE 136 */\n-\t\tPKT_RX_TUNNEL_IPV6_HDR, /* PTYPE 137 */\n-\t\tPKT_RX_TUNNEL_IPV6_HDR, /* PTYPE 138 */\n-\t\tPKT_RX_TUNNEL_IPV6_HDR, /* PTYPE 139 */\n-\t\tPKT_RX_TUNNEL_IPV6_HDR, /* PTYPE 140 */\n-\t\tPKT_RX_TUNNEL_IPV6_HDR, /* PTYPE 141 */\n-\t\tPKT_RX_TUNNEL_IPV6_HDR, /* PTYPE 142 */\n-\t\t0, /* PTYPE 143 */\n-\t\tPKT_RX_TUNNEL_IPV6_HDR, /* PTYPE 144 */\n-\t\tPKT_RX_TUNNEL_IPV6_HDR, /* PTYPE 145 */\n-\t\tPKT_RX_TUNNEL_IPV6_HDR, /* PTYPE 146 */\n-\t\tPKT_RX_TUNNEL_IPV6_HDR, /* PTYPE 147 */\n-\t\tPKT_RX_TUNNEL_IPV6_HDR, /* PTYPE 148 */\n-\t\tPKT_RX_TUNNEL_IPV6_HDR, /* PTYPE 149 */\n-\t\t0, /* PTYPE 150 */\n-\t\tPKT_RX_TUNNEL_IPV6_HDR, /* PTYPE 151 */\n-\t\tPKT_RX_TUNNEL_IPV6_HDR, /* PTYPE 152 */\n-\t\tPKT_RX_IPV6_HDR_EXT, /* PTYPE 153 */\n-\t\t0, /* PTYPE 154 */\n-\t\t0, /* PTYPE 155 */\n-\t\t0, /* PTYPE 156 */\n-\t\t0, /* PTYPE 157 */\n-\t\t0, /* PTYPE 158 */\n-\t\t0, /* PTYPE 159 */\n-\t\t0, /* PTYPE 160 */\n-\t\t0, /* PTYPE 161 */\n-\t\t0, /* PTYPE 162 */\n-\t\t0, /* PTYPE 163 */\n-\t\t0, /* PTYPE 164 */\n-\t\t0, /* PTYPE 165 */\n-\t\t0, /* PTYPE 166 */\n-\t\t0, /* PTYPE 167 */\n-\t\t0, /* PTYPE 168 */\n-\t\t0, /* PTYPE 169 */\n-\t\t0, /* PTYPE 170 */\n-\t\t0, /* PTYPE 171 */\n-\t\t0, /* PTYPE 172 */\n-\t\t0, /* PTYPE 173 */\n-\t\t0, /* PTYPE 174 */\n-\t\t0, /* PTYPE 175 */\n-\t\t0, /* PTYPE 176 */\n-\t\t0, /* PTYPE 177 */\n-\t\t0, /* PTYPE 178 */\n-\t\t0, /* PTYPE 179 */\n-\t\t0, /* PTYPE 180 */\n-\t\t0, /* PTYPE 181 */\n-\t\t0, /* PTYPE 182 */\n-\t\t0, /* PTYPE 183 */\n-\t\t0, /* PTYPE 184 */\n-\t\t0, /* PTYPE 185 */\n-\t\t0, /* PTYPE 186 */\n-\t\t0, /* PTYPE 187 */\n-\t\t0, /* PTYPE 188 */\n-\t\t0, /* PTYPE 189 */\n-\t\t0, /* PTYPE 190 */\n-\t\t0, /* PTYPE 191 */\n-\t\t0, /* PTYPE 192 */\n-\t\t0, /* PTYPE 193 */\n-\t\t0, /* PTYPE 194 */\n-\t\t0, /* PTYPE 195 */\n-\t\t0, /* PTYPE 196 */\n-\t\t0, /* PTYPE 197 */\n-\t\t0, /* PTYPE 198 */\n-\t\t0, /* PTYPE 199 */\n-\t\t0, /* PTYPE 200 */\n-\t\t0, /* PTYPE 201 */\n-\t\t0, /* PTYPE 202 */\n-\t\t0, /* PTYPE 203 */\n-\t\t0, /* PTYPE 204 */\n-\t\t0, /* PTYPE 205 */\n-\t\t0, /* PTYPE 206 */\n-\t\t0, /* PTYPE 207 */\n-\t\t0, /* PTYPE 208 */\n-\t\t0, /* PTYPE 209 */\n-\t\t0, /* PTYPE 210 */\n-\t\t0, /* PTYPE 211 */\n-\t\t0, /* PTYPE 212 */\n-\t\t0, /* PTYPE 213 */\n-\t\t0, /* PTYPE 214 */\n-\t\t0, /* PTYPE 215 */\n-\t\t0, /* PTYPE 216 */\n-\t\t0, /* PTYPE 217 */\n-\t\t0, /* PTYPE 218 */\n-\t\t0, /* PTYPE 219 */\n-\t\t0, /* PTYPE 220 */\n-\t\t0, /* PTYPE 221 */\n-\t\t0, /* PTYPE 222 */\n-\t\t0, /* PTYPE 223 */\n-\t\t0, /* PTYPE 224 */\n-\t\t0, /* PTYPE 225 */\n-\t\t0, /* PTYPE 226 */\n-\t\t0, /* PTYPE 227 */\n-\t\t0, /* PTYPE 228 */\n-\t\t0, /* PTYPE 229 */\n-\t\t0, /* PTYPE 230 */\n-\t\t0, /* PTYPE 231 */\n-\t\t0, /* PTYPE 232 */\n-\t\t0, /* PTYPE 233 */\n-\t\t0, /* PTYPE 234 */\n-\t\t0, /* PTYPE 235 */\n-\t\t0, /* PTYPE 236 */\n-\t\t0, /* PTYPE 237 */\n-\t\t0, /* PTYPE 238 */\n-\t\t0, /* PTYPE 239 */\n-\t\t0, /* PTYPE 240 */\n-\t\t0, /* PTYPE 241 */\n-\t\t0, /* PTYPE 242 */\n-\t\t0, /* PTYPE 243 */\n-\t\t0, /* PTYPE 244 */\n-\t\t0, /* PTYPE 245 */\n-\t\t0, /* PTYPE 246 */\n-\t\t0, /* PTYPE 247 */\n-\t\t0, /* PTYPE 248 */\n-\t\t0, /* PTYPE 249 */\n-\t\t0, /* PTYPE 250 */\n-\t\t0, /* PTYPE 251 */\n-\t\t0, /* PTYPE 252 */\n-\t\t0, /* PTYPE 253 */\n-\t\t0, /* PTYPE 254 */\n-\t\t0, /* PTYPE 255 */\n-\t};\n-\n-\treturn ip_ptype_map[ptype];\n-}\n-#endif /* RTE_NEXT_ABI */\n \n #define I40E_RX_DESC_EXT_STATUS_FLEXBH_MASK   0x03\n #define I40E_RX_DESC_EXT_STATUS_FLEXBH_FD_ID  0x01\n@@ -1292,18 +1020,10 @@ i40e_rx_scan_hw_ring(struct i40e_rx_queue *rxq)\n \t\t\ti40e_rxd_to_vlan_tci(mb, &rxdp[j]);\n \t\t\tpkt_flags = i40e_rxd_status_to_pkt_flags(qword1);\n \t\t\tpkt_flags |= i40e_rxd_error_to_pkt_flags(qword1);\n-#ifdef RTE_NEXT_ABI\n \t\t\tmb->packet_type =\n \t\t\t\ti40e_rxd_pkt_type_mapping((uint8_t)((qword1 &\n \t\t\t\t\t\tI40E_RXD_QW1_PTYPE_MASK) >>\n \t\t\t\t\t\tI40E_RXD_QW1_PTYPE_SHIFT));\n-#else\n-\t\t\tpkt_flags |= i40e_rxd_ptype_to_pkt_flags(qword1);\n-\n-\t\t\tmb->packet_type = (uint16_t)((qword1 &\n-\t\t\t\t\tI40E_RXD_QW1_PTYPE_MASK) >>\n-\t\t\t\t\tI40E_RXD_QW1_PTYPE_SHIFT);\n-#endif /* RTE_NEXT_ABI */\n \t\t\tif (pkt_flags & PKT_RX_RSS_HASH)\n \t\t\t\tmb->hash.rss = rte_le_to_cpu_32(\\\n \t\t\t\t\trxdp[j].wb.qword0.hi_dword.rss);\n@@ -1549,15 +1269,9 @@ i40e_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts)\n \t\ti40e_rxd_to_vlan_tci(rxm, &rxd);\n \t\tpkt_flags = i40e_rxd_status_to_pkt_flags(qword1);\n \t\tpkt_flags |= i40e_rxd_error_to_pkt_flags(qword1);\n-#ifdef RTE_NEXT_ABI\n \t\trxm->packet_type =\n \t\t\ti40e_rxd_pkt_type_mapping((uint8_t)((qword1 &\n \t\t\tI40E_RXD_QW1_PTYPE_MASK) >> I40E_RXD_QW1_PTYPE_SHIFT));\n-#else\n-\t\tpkt_flags |= i40e_rxd_ptype_to_pkt_flags(qword1);\n-\t\trxm->packet_type = (uint16_t)((qword1 & I40E_RXD_QW1_PTYPE_MASK) >>\n-\t\t\t\tI40E_RXD_QW1_PTYPE_SHIFT);\n-#endif /* RTE_NEXT_ABI */\n \t\tif (pkt_flags & PKT_RX_RSS_HASH)\n \t\t\trxm->hash.rss =\n \t\t\t\trte_le_to_cpu_32(rxd.wb.qword0.hi_dword.rss);\n@@ -1717,16 +1431,9 @@ i40e_recv_scattered_pkts(void *rx_queue,\n \t\ti40e_rxd_to_vlan_tci(first_seg, &rxd);\n \t\tpkt_flags = i40e_rxd_status_to_pkt_flags(qword1);\n \t\tpkt_flags |= i40e_rxd_error_to_pkt_flags(qword1);\n-#ifdef RTE_NEXT_ABI\n \t\tfirst_seg->packet_type =\n \t\t\ti40e_rxd_pkt_type_mapping((uint8_t)((qword1 &\n \t\t\tI40E_RXD_QW1_PTYPE_MASK) >> I40E_RXD_QW1_PTYPE_SHIFT));\n-#else\n-\t\tpkt_flags |= i40e_rxd_ptype_to_pkt_flags(qword1);\n-\t\tfirst_seg->packet_type = (uint16_t)((qword1 &\n-\t\t\t\t\tI40E_RXD_QW1_PTYPE_MASK) >>\n-\t\t\t\t\tI40E_RXD_QW1_PTYPE_SHIFT);\n-#endif /* RTE_NEXT_ABI */\n \t\tif (pkt_flags & PKT_RX_RSS_HASH)\n \t\t\trxm->hash.rss =\n \t\t\t\trte_le_to_cpu_32(rxd.wb.qword0.hi_dword.rss);\ndiff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c\nindex 91023b9..a710102 100644\n--- a/drivers/net/ixgbe/ixgbe_rxtx.c\n+++ b/drivers/net/ixgbe/ixgbe_rxtx.c\n@@ -864,7 +864,6 @@ end_of_tx:\n  *  RX functions\n  *\n  **********************************************************************/\n-#ifdef RTE_NEXT_ABI\n #define IXGBE_PACKET_TYPE_IPV4              0X01\n #define IXGBE_PACKET_TYPE_IPV4_TCP          0X11\n #define IXGBE_PACKET_TYPE_IPV4_UDP          0X21\n@@ -967,43 +966,6 @@ ixgbe_rxd_pkt_info_to_pkt_flags(uint16_t pkt_info)\n \treturn ip_rss_types_map[pkt_info & 0XF];\n #endif\n }\n-#else /* RTE_NEXT_ABI */\n-static inline uint64_t\n-rx_desc_hlen_type_rss_to_pkt_flags(uint32_t hl_tp_rs)\n-{\n-\tuint64_t pkt_flags;\n-\n-\tstatic const uint64_t ip_pkt_types_map[16] = {\n-\t\t0, PKT_RX_IPV4_HDR, PKT_RX_IPV4_HDR_EXT, PKT_RX_IPV4_HDR_EXT,\n-\t\tPKT_RX_IPV6_HDR, 0, 0, 0,\n-\t\tPKT_RX_IPV6_HDR_EXT, 0, 0, 0,\n-\t\tPKT_RX_IPV6_HDR_EXT, 0, 0, 0,\n-\t};\n-\n-\tstatic const uint64_t ip_rss_types_map[16] = {\n-\t\t0, PKT_RX_RSS_HASH, PKT_RX_RSS_HASH, PKT_RX_RSS_HASH,\n-\t\t0, PKT_RX_RSS_HASH, 0, PKT_RX_RSS_HASH,\n-\t\tPKT_RX_RSS_HASH, 0, 0, 0,\n-\t\t0, 0, 0,  PKT_RX_FDIR,\n-\t};\n-\n-#ifdef RTE_LIBRTE_IEEE1588\n-\tstatic uint64_t ip_pkt_etqf_map[8] = {\n-\t\t0, 0, 0, PKT_RX_IEEE1588_PTP,\n-\t\t0, 0, 0, 0,\n-\t};\n-\n-\tpkt_flags = (hl_tp_rs & IXGBE_RXDADV_PKTTYPE_ETQF) ?\n-\t\t\tip_pkt_etqf_map[(hl_tp_rs >> 4) & 0x07] :\n-\t\t\tip_pkt_types_map[(hl_tp_rs >> 4) & 0x0F];\n-#else\n-\tpkt_flags = (hl_tp_rs & IXGBE_RXDADV_PKTTYPE_ETQF) ? 0 :\n-\t\t\tip_pkt_types_map[(hl_tp_rs >> 4) & 0x0F];\n-\n-#endif\n-\treturn pkt_flags | ip_rss_types_map[hl_tp_rs & 0xF];\n-}\n-#endif /* RTE_NEXT_ABI */\n \n static inline uint64_t\n rx_desc_status_to_pkt_flags(uint32_t rx_status)\n@@ -1058,13 +1020,9 @@ ixgbe_rx_scan_hw_ring(struct ixgbe_rx_queue *rxq)\n \tstruct rte_mbuf *mb;\n \tuint16_t pkt_len;\n \tuint64_t pkt_flags;\n-#ifdef RTE_NEXT_ABI\n \tint nb_dd;\n \tuint32_t s[LOOK_AHEAD];\n \tuint16_t pkt_info[LOOK_AHEAD];\n-#else\n-\tint s[LOOK_AHEAD], nb_dd;\n-#endif /* RTE_NEXT_ABI */\n \tint i, j, nb_rx = 0;\n \tuint32_t status;\n \n@@ -1088,11 +1046,9 @@ ixgbe_rx_scan_hw_ring(struct ixgbe_rx_queue *rxq)\n \t\tfor (j = LOOK_AHEAD-1; j >= 0; --j)\n \t\t\ts[j] = rte_le_to_cpu_32(rxdp[j].wb.upper.status_error);\n \n-#ifdef RTE_NEXT_ABI\n \t\tfor (j = LOOK_AHEAD - 1; j >= 0; --j)\n \t\t\tpkt_info[j] = rxdp[j].wb.lower.lo_dword.\n \t\t\t\t\t\ths_rss.pkt_info;\n-#endif /* RTE_NEXT_ABI */\n \n \t\t/* Compute how many status bits were set */\n \t\tnb_dd = 0;\n@@ -1111,7 +1067,6 @@ ixgbe_rx_scan_hw_ring(struct ixgbe_rx_queue *rxq)\n \t\t\tmb->vlan_tci = rte_le_to_cpu_16(rxdp[j].wb.upper.vlan);\n \n \t\t\t/* convert descriptor fields to rte mbuf flags */\n-#ifdef RTE_NEXT_ABI\n \t\t\tpkt_flags = rx_desc_status_to_pkt_flags(s[j]);\n \t\t\tpkt_flags |= rx_desc_error_to_pkt_flags(s[j]);\n \t\t\tpkt_flags |=\n@@ -1119,15 +1074,6 @@ ixgbe_rx_scan_hw_ring(struct ixgbe_rx_queue *rxq)\n \t\t\tmb->ol_flags = pkt_flags;\n \t\t\tmb->packet_type =\n \t\t\t\tixgbe_rxd_pkt_info_to_pkt_type(pkt_info[j]);\n-#else /* RTE_NEXT_ABI */\n-\t\t\tpkt_flags  = rx_desc_hlen_type_rss_to_pkt_flags(\n-\t\t\t\t\trte_le_to_cpu_32(\n-\t\t\t\t\trxdp[j].wb.lower.lo_dword.data));\n-\t\t\t/* reuse status field from scan list */\n-\t\t\tpkt_flags |= rx_desc_status_to_pkt_flags(s[j]);\n-\t\t\tpkt_flags |= rx_desc_error_to_pkt_flags(s[j]);\n-\t\t\tmb->ol_flags = pkt_flags;\n-#endif /* RTE_NEXT_ABI */\n \n \t\t\tif (likely(pkt_flags & PKT_RX_RSS_HASH))\n \t\t\t\tmb->hash.rss = rte_le_to_cpu_32(\n@@ -1328,11 +1274,7 @@ ixgbe_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts,\n \tunion ixgbe_adv_rx_desc rxd;\n \tuint64_t dma_addr;\n \tuint32_t staterr;\n-#ifdef RTE_NEXT_ABI\n \tuint32_t pkt_info;\n-#else\n-\tuint32_t hlen_type_rss;\n-#endif\n \tuint16_t pkt_len;\n \tuint16_t rx_id;\n \tuint16_t nb_rx;\n@@ -1450,7 +1392,6 @@ ixgbe_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts,\n \t\trxm->data_len = pkt_len;\n \t\trxm->port = rxq->port_id;\n \n-#ifdef RTE_NEXT_ABI\n \t\tpkt_info = rte_le_to_cpu_32(rxd.wb.lower.lo_dword.hs_rss.\n \t\t\t\t\t\t\t\tpkt_info);\n \t\t/* Only valid if PKT_RX_VLAN_PKT set in pkt_flags */\n@@ -1462,16 +1403,6 @@ ixgbe_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts,\n \t\t\tixgbe_rxd_pkt_info_to_pkt_flags(pkt_info);\n \t\trxm->ol_flags = pkt_flags;\n \t\trxm->packet_type = ixgbe_rxd_pkt_info_to_pkt_type(pkt_info);\n-#else /* RTE_NEXT_ABI */\n-\t\thlen_type_rss = rte_le_to_cpu_32(rxd.wb.lower.lo_dword.data);\n-\t\t/* Only valid if PKT_RX_VLAN_PKT set in pkt_flags */\n-\t\trxm->vlan_tci = rte_le_to_cpu_16(rxd.wb.upper.vlan);\n-\n-\t\tpkt_flags = rx_desc_hlen_type_rss_to_pkt_flags(hlen_type_rss);\n-\t\tpkt_flags = pkt_flags | rx_desc_status_to_pkt_flags(staterr);\n-\t\tpkt_flags = pkt_flags | rx_desc_error_to_pkt_flags(staterr);\n-\t\trxm->ol_flags = pkt_flags;\n-#endif /* RTE_NEXT_ABI */\n \n \t\tif (likely(pkt_flags & PKT_RX_RSS_HASH))\n \t\t\trxm->hash.rss = rte_le_to_cpu_32(\n@@ -1547,7 +1478,6 @@ ixgbe_fill_cluster_head_buf(\n \tuint8_t port_id,\n \tuint32_t staterr)\n {\n-#ifdef RTE_NEXT_ABI\n \tuint16_t pkt_info;\n \tuint64_t pkt_flags;\n \n@@ -1563,23 +1493,6 @@ ixgbe_fill_cluster_head_buf(\n \tpkt_flags |= ixgbe_rxd_pkt_info_to_pkt_flags(pkt_info);\n \thead->ol_flags = pkt_flags;\n \thead->packet_type = ixgbe_rxd_pkt_info_to_pkt_type(pkt_info);\n-#else /* RTE_NEXT_ABI */\n-\tuint32_t hlen_type_rss;\n-\tuint64_t pkt_flags;\n-\n-\thead->port = port_id;\n-\n-\t/*\n-\t * The vlan_tci field is only valid when PKT_RX_VLAN_PKT is\n-\t * set in the pkt_flags field.\n-\t */\n-\thead->vlan_tci = rte_le_to_cpu_16(desc->wb.upper.vlan);\n-\thlen_type_rss = rte_le_to_cpu_32(desc->wb.lower.lo_dword.data);\n-\tpkt_flags = rx_desc_hlen_type_rss_to_pkt_flags(hlen_type_rss);\n-\tpkt_flags |= rx_desc_status_to_pkt_flags(staterr);\n-\tpkt_flags |= rx_desc_error_to_pkt_flags(staterr);\n-\thead->ol_flags = pkt_flags;\n-#endif /* RTE_NEXT_ABI */\n \n \tif (likely(pkt_flags & PKT_RX_RSS_HASH))\n \t\thead->hash.rss = rte_le_to_cpu_32(desc->wb.lower.hi_dword.rss);\ndiff --git a/drivers/net/ixgbe/ixgbe_rxtx_vec.c b/drivers/net/ixgbe/ixgbe_rxtx_vec.c\nindex cf25a53..6979b1e 100644\n--- a/drivers/net/ixgbe/ixgbe_rxtx_vec.c\n+++ b/drivers/net/ixgbe/ixgbe_rxtx_vec.c\n@@ -140,19 +140,11 @@ ixgbe_rxq_rearm(struct ixgbe_rx_queue *rxq)\n  */\n #ifdef RTE_IXGBE_RX_OLFLAGS_ENABLE\n \n-#ifndef RTE_NEXT_ABI\n-#define OLFLAGS_MASK\t((uint16_t)(PKT_RX_VLAN_PKT | PKT_RX_IPV4_HDR |\\\n-\t\t\tPKT_RX_IPV4_HDR_EXT | PKT_RX_IPV6_HDR |\\\n-\t\t\tPKT_RX_IPV6_HDR_EXT))\n-#define PTYPE_SHIFT    (1)\n-#endif /* RTE_NEXT_ABI */\n-\n #define VTAG_SHIFT     (3)\n \n static inline void\n desc_to_olflags_v(__m128i descs[4], struct rte_mbuf **rx_pkts)\n {\n-#ifdef RTE_NEXT_ABI\n \t__m128i ptype0, ptype1, vtag0, vtag1;\n \tunion {\n \t\tuint16_t e[4];\n@@ -190,50 +182,6 @@ desc_to_olflags_v(__m128i descs[4], struct rte_mbuf **rx_pkts)\n \n \tvtag1 = _mm_or_si128(ptype0, vtag1);\n \tvol.dword = _mm_cvtsi128_si64(vtag1);\n-#else\n-\t__m128i ptype0, ptype1, vtag0, vtag1;\n-\tunion {\n-\t\tuint16_t e[4];\n-\t\tuint64_t dword;\n-\t} vol;\n-\n-\t/* pkt type + vlan olflags mask */\n-\tconst __m128i pkttype_msk = _mm_set_epi16(\n-\t\t\t0x0000, 0x0000, 0x0000, 0x0000,\n-\t\t\tOLFLAGS_MASK, OLFLAGS_MASK, OLFLAGS_MASK, OLFLAGS_MASK);\n-\n-\t/* mask everything except rss type */\n-\tconst __m128i rsstype_msk = _mm_set_epi16(\n-\t\t\t0x0000, 0x0000, 0x0000, 0x0000,\n-\t\t\t0x000F, 0x000F, 0x000F, 0x000F);\n-\n-\t/* rss type to PKT_RX_RSS_HASH translation */\n-\tconst __m128i rss_flags = _mm_set_epi8(PKT_RX_FDIR, 0, 0, 0,\n-\t\t\t0, 0, 0, PKT_RX_RSS_HASH,\n-\t\t\tPKT_RX_RSS_HASH, 0, PKT_RX_RSS_HASH, 0,\n-\t\t\tPKT_RX_RSS_HASH, PKT_RX_RSS_HASH, PKT_RX_RSS_HASH, 0);\n-\n-\tptype0 = _mm_unpacklo_epi16(descs[0], descs[1]);\n-\tptype1 = _mm_unpacklo_epi16(descs[2], descs[3]);\n-\tvtag0 = _mm_unpackhi_epi16(descs[0], descs[1]);\n-\tvtag1 = _mm_unpackhi_epi16(descs[2], descs[3]);\n-\n-\tptype1 = _mm_unpacklo_epi32(ptype0, ptype1);\n-\tvtag1 = _mm_unpacklo_epi32(vtag0, vtag1);\n-\n-\tptype0 = _mm_and_si128(ptype1, rsstype_msk);\n-\tptype0 = _mm_shuffle_epi8(rss_flags, ptype0);\n-\n-\tptype1 = _mm_slli_epi16(ptype1, PTYPE_SHIFT);\n-\tvtag1 = _mm_srli_epi16(vtag1, VTAG_SHIFT);\n-\n-\tptype1 = _mm_or_si128(ptype1, vtag1);\n-\tptype1 = _mm_and_si128(ptype1, pkttype_msk);\n-\n-\tptype0 = _mm_or_si128(ptype0, ptype1);\n-\n-\tvol.dword = _mm_cvtsi128_si64(ptype0);\n-#endif /* RTE_NEXT_ABI */\n \n \trx_pkts[0]->ol_flags = vol.e[0];\n \trx_pkts[1]->ol_flags = vol.e[1];\n@@ -264,7 +212,6 @@ _recv_raw_pkts_vec(struct ixgbe_rx_queue *rxq, struct rte_mbuf **rx_pkts,\n \tint pos;\n \tuint64_t var;\n \t__m128i shuf_msk;\n-#ifdef RTE_NEXT_ABI\n \t__m128i crc_adjust = _mm_set_epi16(\n \t\t\t\t0, 0, 0,    /* ignore non-length fields */\n \t\t\t\t-rxq->crc_len, /* sub crc on data_len */\n@@ -275,16 +222,6 @@ _recv_raw_pkts_vec(struct ixgbe_rx_queue *rxq, struct rte_mbuf **rx_pkts,\n \t__m128i dd_check, eop_check;\n \t__m128i desc_mask = _mm_set_epi32(0xFFFFFFFF, 0xFFFFFFFF,\n \t\t\t\t\t  0xFFFFFFFF, 0xFFFF07F0);\n-#else\n-\t__m128i crc_adjust = _mm_set_epi16(\n-\t\t\t\t0, 0, 0, 0, /* ignore non-length fields */\n-\t\t\t\t0,          /* ignore high-16bits of pkt_len */\n-\t\t\t\t-rxq->crc_len, /* sub crc on pkt_len */\n-\t\t\t\t-rxq->crc_len, /* sub crc on data_len */\n-\t\t\t\t0            /* ignore pkt_type field */\n-\t\t\t);\n-\t__m128i dd_check, eop_check;\n-#endif /* RTE_NEXT_ABI */\n \n \tif (unlikely(nb_pkts < RTE_IXGBE_VPMD_RX_BURST))\n \t\treturn 0;\n@@ -313,7 +250,6 @@ _recv_raw_pkts_vec(struct ixgbe_rx_queue *rxq, struct rte_mbuf **rx_pkts,\n \teop_check = _mm_set_epi64x(0x0000000200000002LL, 0x0000000200000002LL);\n \n \t/* mask to shuffle from desc. to mbuf */\n-#ifdef RTE_NEXT_ABI\n \tshuf_msk = _mm_set_epi8(\n \t\t7, 6, 5, 4,  /* octet 4~7, 32bits rss */\n \t\t15, 14,      /* octet 14~15, low 16 bits vlan_macip */\n@@ -324,23 +260,11 @@ _recv_raw_pkts_vec(struct ixgbe_rx_queue *rxq, struct rte_mbuf **rx_pkts,\n \t\t1,           /* octet 1, 8 bits pkt_type field */\n \t\t0            /* octet 0, 4 bits offset 4 pkt_type field */\n \t\t);\n-#else\n-\tshuf_msk = _mm_set_epi8(\n-\t\t7, 6, 5, 4,  /* octet 4~7, 32bits rss */\n-\t\t0xFF, 0xFF,  /* skip high 16 bits vlan_macip, zero out */\n-\t\t15, 14,      /* octet 14~15, low 16 bits vlan_macip */\n-\t\t0xFF, 0xFF,  /* skip high 16 bits pkt_len, zero out */\n-\t\t13, 12,      /* octet 12~13, low 16 bits pkt_len */\n-\t\t13, 12,      /* octet 12~13, 16 bits data_len */\n-\t\t0xFF, 0xFF   /* skip pkt_type field */\n-\t\t);\n-#endif /* RTE_NEXT_ABI */\n \n \t/* Cache is empty -> need to scan the buffer rings, but first move\n \t * the next 'n' mbufs into the cache */\n \tsw_ring = &rxq->sw_ring[rxq->rx_tail];\n \n-#ifdef RTE_NEXT_ABI\n \t/* A. load 4 packet in one loop\n \t * [A*. mask out 4 unused dirty field in desc]\n \t * B. copy 4 mbuf point from swring to rx_pkts\n@@ -348,20 +272,10 @@ _recv_raw_pkts_vec(struct ixgbe_rx_queue *rxq, struct rte_mbuf **rx_pkts,\n \t * [C*. extract the end-of-packet bit, if requested]\n \t * D. fill info. from desc to mbuf\n \t */\n-#else\n-\t/* A. load 4 packet in one loop\n-\t * B. copy 4 mbuf point from swring to rx_pkts\n-\t * C. calc the number of DD bits among the 4 packets\n-\t * [C*. extract the end-of-packet bit, if requested]\n-\t * D. fill info. from desc to mbuf\n-\t */\n-#endif /* RTE_NEXT_ABI */\n \tfor (pos = 0, nb_pkts_recd = 0; pos < RTE_IXGBE_VPMD_RX_BURST;\n \t\t\tpos += RTE_IXGBE_DESCS_PER_LOOP,\n \t\t\trxdp += RTE_IXGBE_DESCS_PER_LOOP) {\n-#ifdef RTE_NEXT_ABI\n \t\t__m128i descs0[RTE_IXGBE_DESCS_PER_LOOP];\n-#endif /* RTE_NEXT_ABI */\n \t\t__m128i descs[RTE_IXGBE_DESCS_PER_LOOP];\n \t\t__m128i pkt_mb1, pkt_mb2, pkt_mb3, pkt_mb4;\n \t\t__m128i zero, staterr, sterr_tmp1, sterr_tmp2;\n@@ -377,7 +291,6 @@ _recv_raw_pkts_vec(struct ixgbe_rx_queue *rxq, struct rte_mbuf **rx_pkts,\n \t\t/* B.1 load 1 mbuf point */\n \t\tmbp1 = _mm_loadu_si128((__m128i *)&sw_ring[pos]);\n \n-#ifdef RTE_NEXT_ABI\n \t\t/* Read desc statuses backwards to avoid race condition */\n \t\t/* A.1 load 4 pkts desc */\n \t\tdescs0[3] = _mm_loadu_si128((__m128i *)(rxdp + 3));\n@@ -403,25 +316,6 @@ _recv_raw_pkts_vec(struct ixgbe_rx_queue *rxq, struct rte_mbuf **rx_pkts,\n \t\t/* A* mask out 0~3 bits RSS type */\n \t\tdescs[1] = _mm_and_si128(descs0[1], desc_mask);\n \t\tdescs[0] = _mm_and_si128(descs0[0], desc_mask);\n-#else\n-\t\t/* Read desc statuses backwards to avoid race condition */\n-\t\t/* A.1 load 4 pkts desc */\n-\t\tdescs[3] = _mm_loadu_si128((__m128i *)(rxdp + 3));\n-\n-\t\t/* B.2 copy 2 mbuf point into rx_pkts  */\n-\t\t_mm_storeu_si128((__m128i *)&rx_pkts[pos], mbp1);\n-\n-\t\t/* B.1 load 1 mbuf point */\n-\t\tmbp2 = _mm_loadu_si128((__m128i *)&sw_ring[pos + 2]);\n-\n-\t\tdescs[2] = _mm_loadu_si128((__m128i *)(rxdp + 2));\n-\t\t/* B.1 load 2 mbuf point */\n-\t\tdescs[1] = _mm_loadu_si128((__m128i *)(rxdp + 1));\n-\t\tdescs[0] = _mm_loadu_si128((__m128i *)(rxdp));\n-\n-\t\t/* B.2 copy 2 mbuf point into rx_pkts  */\n-\t\t_mm_storeu_si128((__m128i *)&rx_pkts[pos + 2], mbp2);\n-#endif /* RTE_NEXT_ABI */\n \n \t\t/* avoid compiler reorder optimization */\n \t\trte_compiler_barrier();\n@@ -435,13 +329,8 @@ _recv_raw_pkts_vec(struct ixgbe_rx_queue *rxq, struct rte_mbuf **rx_pkts,\n \t\t/* C.1 4=>2 filter staterr info only */\n \t\tsterr_tmp1 = _mm_unpackhi_epi32(descs[1], descs[0]);\n \n-#ifdef RTE_NEXT_ABI\n \t\t/* set ol_flags with vlan packet type */\n \t\tdesc_to_olflags_v(descs0, &rx_pkts[pos]);\n-#else\n-\t\t/* set ol_flags with packet type and vlan tag */\n-\t\tdesc_to_olflags_v(descs, &rx_pkts[pos]);\n-#endif /* RTE_NEXT_ABI */\n \n \t\t/* D.2 pkt 3,4 set in_port/nb_seg and remove crc */\n \t\tpkt_mb4 = _mm_add_epi16(pkt_mb4, crc_adjust);\ndiff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c\nindex fa3cb7e..6c6342f 100644\n--- a/drivers/net/mlx4/mlx4.c\n+++ b/drivers/net/mlx4/mlx4.c\n@@ -1264,16 +1264,7 @@ mlx4_tx_burst(void *dpdk_txq, struct rte_mbuf **pkts, uint16_t pkts_n)\n \t\t\t * offsets but automatically recognizes the packet\n \t\t\t * type. For inner L3/L4 checksums, only VXLAN (UDP)\n \t\t\t * tunnels are currently supported. */\n-#ifdef RTE_NEXT_ABI\n \t\t\tif (RTE_ETH_IS_TUNNEL_PKT(buf->packet_type))\n-#else\n-\t\t\t/* FIXME: since PKT_TX_UDP_TUNNEL_PKT has been removed,\n-\t\t\t * the outer packet type is unknown. All we know is\n-\t\t\t * that the L2 header is of unusual length (not\n-\t\t\t * ETHER_HDR_LEN with or without 802.1Q header). */\n-\t\t\tif ((buf->l2_len != ETHER_HDR_LEN) &&\n-\t\t\t    (buf->l2_len != (ETHER_HDR_LEN + 4)))\n-#endif\n \t\t\t\tsend_flags |= IBV_EXP_QP_BURST_TUNNEL;\n \t\t}\n \t\tif (likely(segs == 1)) {\n@@ -2488,7 +2479,6 @@ rxq_cleanup(struct rxq *rxq)\n \tmemset(rxq, 0, sizeof(*rxq));\n }\n \n-#ifdef RTE_NEXT_ABI\n /**\n  * Translate RX completion flags to packet type.\n  *\n@@ -2521,7 +2511,6 @@ rxq_cq_to_pkt_type(uint32_t flags)\n \t\t\t          IBV_EXP_CQ_RX_IPV6_PACKET, RTE_PTYPE_L3_IPV6);\n \treturn pkt_type;\n }\n-#endif /* RTE_NEXT_ABI */\n \n /**\n  * Translate RX completion flags to offload flags.\n@@ -2539,11 +2528,6 @@ rxq_cq_to_ol_flags(const struct rxq *rxq, uint32_t flags)\n {\n \tuint32_t ol_flags = 0;\n \n-#ifndef RTE_NEXT_ABI\n-\tol_flags =\n-\t\tTRANSPOSE(flags, IBV_EXP_CQ_RX_IPV4_PACKET, PKT_RX_IPV4_HDR) |\n-\t\tTRANSPOSE(flags, IBV_EXP_CQ_RX_IPV6_PACKET, PKT_RX_IPV6_HDR);\n-#endif\n \tif (rxq->csum)\n \t\tol_flags |=\n \t\t\tTRANSPOSE(~flags,\n@@ -2559,14 +2543,6 @@ rxq_cq_to_ol_flags(const struct rxq *rxq, uint32_t flags)\n \t */\n \tif ((flags & IBV_EXP_CQ_RX_TUNNEL_PACKET) && (rxq->csum_l2tun))\n \t\tol_flags |=\n-#ifndef RTE_NEXT_ABI\n-\t\t\tTRANSPOSE(flags,\n-\t\t\t\t  IBV_EXP_CQ_RX_OUTER_IPV4_PACKET,\n-\t\t\t\t  PKT_RX_TUNNEL_IPV4_HDR) |\n-\t\t\tTRANSPOSE(flags,\n-\t\t\t\t  IBV_EXP_CQ_RX_OUTER_IPV6_PACKET,\n-\t\t\t\t  PKT_RX_TUNNEL_IPV6_HDR) |\n-#endif\n \t\t\tTRANSPOSE(~flags,\n \t\t\t\t  IBV_EXP_CQ_RX_OUTER_IP_CSUM_OK,\n \t\t\t\t  PKT_RX_IP_CKSUM_BAD) |\n@@ -2758,10 +2734,7 @@ mlx4_rx_burst_sp(void *dpdk_rxq, struct rte_mbuf **pkts, uint16_t pkts_n)\n \t\tNB_SEGS(pkt_buf) = j;\n \t\tPORT(pkt_buf) = rxq->port_id;\n \t\tPKT_LEN(pkt_buf) = pkt_buf_len;\n-#ifdef RTE_NEXT_ABI\n \t\tpkt_buf->packet_type = rxq_cq_to_pkt_type(flags);\n-#endif\n-\t\tpkt_buf->ol_flags = rxq_cq_to_ol_flags(rxq, flags);\n \n \t\t/* Return packet. */\n \t\t*(pkts++) = pkt_buf;\n@@ -2921,9 +2894,7 @@ mlx4_rx_burst(void *dpdk_rxq, struct rte_mbuf **pkts, uint16_t pkts_n)\n \t\tNEXT(seg) = NULL;\n \t\tPKT_LEN(seg) = len;\n \t\tDATA_LEN(seg) = len;\n-#ifdef RTE_NEXT_ABI\n \t\tseg->packet_type = rxq_cq_to_pkt_type(flags);\n-#endif\n \t\tseg->ol_flags = rxq_cq_to_ol_flags(rxq, flags);\n \n \t\t/* Return packet. */\ndiff --git a/drivers/net/vmxnet3/vmxnet3_rxtx.c b/drivers/net/vmxnet3/vmxnet3_rxtx.c\nindex 39ad6ef..4de5d89 100644\n--- a/drivers/net/vmxnet3/vmxnet3_rxtx.c\n+++ b/drivers/net/vmxnet3/vmxnet3_rxtx.c\n@@ -520,17 +520,9 @@ vmxnet3_rx_offload(const Vmxnet3_RxCompDesc *rcd, struct rte_mbuf *rxm)\n \t\tstruct ipv4_hdr *ip = (struct ipv4_hdr *)(eth + 1);\n \n \t\tif (((ip->version_ihl & 0xf) << 2) > (int)sizeof(struct ipv4_hdr))\n-#ifdef RTE_NEXT_ABI\n \t\t\trxm->packet_type = RTE_PTYPE_L3_IPV4_EXT;\n-#else\n-\t\t\trxm->ol_flags |= PKT_RX_IPV4_HDR_EXT;\n-#endif\n \t\telse\n-#ifdef RTE_NEXT_ABI\n \t\t\trxm->packet_type = RTE_PTYPE_L3_IPV4;\n-#else\n-\t\t\trxm->ol_flags |= PKT_RX_IPV4_HDR;\n-#endif\n \n \t\tif (!rcd->cnc) {\n \t\t\tif (!rcd->ipc)\ndiff --git a/examples/ip_fragmentation/main.c b/examples/ip_fragmentation/main.c\nindex b71d05f..fbc0b8d 100644\n--- a/examples/ip_fragmentation/main.c\n+++ b/examples/ip_fragmentation/main.c\n@@ -283,11 +283,7 @@ l3fwd_simple_forward(struct rte_mbuf *m, struct lcore_queue_conf *qconf,\n \tlen = qconf->tx_mbufs[port_out].len;\n \n \t/* if this is an IPv4 packet */\n-#ifdef RTE_NEXT_ABI\n \tif (RTE_ETH_IS_IPV4_HDR(m->packet_type)) {\n-#else\n-\tif (m->ol_flags & PKT_RX_IPV4_HDR) {\n-#endif\n \t\tstruct ipv4_hdr *ip_hdr;\n \t\tuint32_t ip_dst;\n \t\t/* Read the lookup key (i.e. ip_dst) from the input packet */\n@@ -321,14 +317,8 @@ l3fwd_simple_forward(struct rte_mbuf *m, struct lcore_queue_conf *qconf,\n \t\t\tif (unlikely (len2 < 0))\n \t\t\t\treturn;\n \t\t}\n-#ifdef RTE_NEXT_ABI\n \t} else if (RTE_ETH_IS_IPV6_HDR(m->packet_type)) {\n \t\t/* if this is an IPv6 packet */\n-#else\n-\t}\n-\t/* if this is an IPv6 packet */\n-\telse if (m->ol_flags & PKT_RX_IPV6_HDR) {\n-#endif\n \t\tstruct ipv6_hdr *ip_hdr;\n \n \t\tipv6 = 1;\ndiff --git a/examples/ip_reassembly/main.c b/examples/ip_reassembly/main.c\nindex f1c47ad..741c398 100644\n--- a/examples/ip_reassembly/main.c\n+++ b/examples/ip_reassembly/main.c\n@@ -356,11 +356,7 @@ reassemble(struct rte_mbuf *m, uint8_t portid, uint32_t queue,\n \tdst_port = portid;\n \n \t/* if packet is IPv4 */\n-#ifdef RTE_NEXT_ABI\n \tif (RTE_ETH_IS_IPV4_HDR(m->packet_type)) {\n-#else\n-\tif (m->ol_flags & (PKT_RX_IPV4_HDR)) {\n-#endif\n \t\tstruct ipv4_hdr *ip_hdr;\n \t\tuint32_t ip_dst;\n \n@@ -400,14 +396,8 @@ reassemble(struct rte_mbuf *m, uint8_t portid, uint32_t queue,\n \t\t}\n \n \t\teth_hdr->ether_type = rte_be_to_cpu_16(ETHER_TYPE_IPv4);\n-#ifdef RTE_NEXT_ABI\n \t} else if (RTE_ETH_IS_IPV6_HDR(m->packet_type)) {\n \t\t/* if packet is IPv6 */\n-#else\n-\t}\n-\t/* if packet is IPv6 */\n-\telse if (m->ol_flags & (PKT_RX_IPV6_HDR | PKT_RX_IPV6_HDR_EXT)) {\n-#endif\n \t\tstruct ipv6_extension_fragment *frag_hdr;\n \t\tstruct ipv6_hdr *ip_hdr;\n \ndiff --git a/examples/l3fwd-acl/main.c b/examples/l3fwd-acl/main.c\nindex b2bdf2f..f612671 100644\n--- a/examples/l3fwd-acl/main.c\n+++ b/examples/l3fwd-acl/main.c\n@@ -645,13 +645,7 @@ prepare_one_packet(struct rte_mbuf **pkts_in, struct acl_search_t *acl,\n \tstruct ipv4_hdr *ipv4_hdr;\n \tstruct rte_mbuf *pkt = pkts_in[index];\n \n-#ifdef RTE_NEXT_ABI\n \tif (RTE_ETH_IS_IPV4_HDR(pkt->packet_type)) {\n-#else\n-\tint type = pkt->ol_flags & (PKT_RX_IPV4_HDR | PKT_RX_IPV6_HDR);\n-\n-\tif (type == PKT_RX_IPV4_HDR) {\n-#endif\n \t\tipv4_hdr = rte_pktmbuf_mtod_offset(pkt, struct ipv4_hdr *,\n \t\t\t\t\t\t   sizeof(struct ether_hdr));\n \n@@ -670,11 +664,7 @@ prepare_one_packet(struct rte_mbuf **pkts_in, struct acl_search_t *acl,\n \t\t\t/* Not a valid IPv4 packet */\n \t\t\trte_pktmbuf_free(pkt);\n \t\t}\n-#ifdef RTE_NEXT_ABI\n \t} else if (RTE_ETH_IS_IPV6_HDR(pkt->packet_type)) {\n-#else\n-\t} else if (type == PKT_RX_IPV6_HDR) {\n-#endif\n \t\t/* Fill acl structure */\n \t\tacl->data_ipv6[acl->num_ipv6] = MBUF_IPV6_2PROTO(pkt);\n \t\tacl->m_ipv6[(acl->num_ipv6)++] = pkt;\n@@ -692,22 +682,12 @@ prepare_one_packet(struct rte_mbuf **pkts_in, struct acl_search_t *acl,\n {\n \tstruct rte_mbuf *pkt = pkts_in[index];\n \n-#ifdef RTE_NEXT_ABI\n \tif (RTE_ETH_IS_IPV4_HDR(pkt->packet_type)) {\n-#else\n-\tint type = pkt->ol_flags & (PKT_RX_IPV4_HDR | PKT_RX_IPV6_HDR);\n-\n-\tif (type == PKT_RX_IPV4_HDR) {\n-#endif\n \t\t/* Fill acl structure */\n \t\tacl->data_ipv4[acl->num_ipv4] = MBUF_IPV4_2PROTO(pkt);\n \t\tacl->m_ipv4[(acl->num_ipv4)++] = pkt;\n \n-#ifdef RTE_NEXT_ABI\n \t} else if (RTE_ETH_IS_IPV6_HDR(pkt->packet_type)) {\n-#else\n-\t} else if (type == PKT_RX_IPV6_HDR) {\n-#endif\n \t\t/* Fill acl structure */\n \t\tacl->data_ipv6[acl->num_ipv6] = MBUF_IPV6_2PROTO(pkt);\n \t\tacl->m_ipv6[(acl->num_ipv6)++] = pkt;\n@@ -755,17 +735,10 @@ send_one_packet(struct rte_mbuf *m, uint32_t res)\n \t\t/* in the ACL list, drop it */\n #ifdef L3FWDACL_DEBUG\n \t\tif ((res & ACL_DENY_SIGNATURE) != 0) {\n-#ifdef RTE_NEXT_ABI\n \t\t\tif (RTE_ETH_IS_IPV4_HDR(m->packet_type))\n \t\t\t\tdump_acl4_rule(m, res);\n \t\t\telse if (RTE_ETH_IS_IPV6_HDR(m->packet_type))\n \t\t\t\tdump_acl6_rule(m, res);\n-#else\n-\t\t\tif (m->ol_flags & PKT_RX_IPV4_HDR)\n-\t\t\t\tdump_acl4_rule(m, res);\n-\t\t\telse\n-\t\t\t\tdump_acl6_rule(m, res);\n-#endif /* RTE_NEXT_ABI */\n \t\t}\n #endif\n \t\trte_pktmbuf_free(m);\ndiff --git a/examples/l3fwd-power/main.c b/examples/l3fwd-power/main.c\nindex 086f29b..8bb88ce 100644\n--- a/examples/l3fwd-power/main.c\n+++ b/examples/l3fwd-power/main.c\n@@ -650,11 +650,7 @@ l3fwd_simple_forward(struct rte_mbuf *m, uint8_t portid,\n \n \teth_hdr = rte_pktmbuf_mtod(m, struct ether_hdr *);\n \n-#ifdef RTE_NEXT_ABI\n \tif (RTE_ETH_IS_IPV4_HDR(m->packet_type)) {\n-#else\n-\tif (m->ol_flags & PKT_RX_IPV4_HDR) {\n-#endif\n \t\t/* Handle IPv4 headers.*/\n \t\tipv4_hdr =\n \t\t\trte_pktmbuf_mtod_offset(m, struct ipv4_hdr *,\n@@ -689,12 +685,7 @@ l3fwd_simple_forward(struct rte_mbuf *m, uint8_t portid,\n \t\tether_addr_copy(&ports_eth_addr[dst_port], &eth_hdr->s_addr);\n \n \t\tsend_single_packet(m, dst_port);\n-#ifdef RTE_NEXT_ABI\n \t} else if (RTE_ETH_IS_IPV6_HDR(m->packet_type)) {\n-#else\n-\t}\n-\telse {\n-#endif\n \t\t/* Handle IPv6 headers.*/\n #if (APP_LOOKUP_METHOD == APP_LOOKUP_EXACT_MATCH)\n \t\tstruct ipv6_hdr *ipv6_hdr;\ndiff --git a/examples/l3fwd/main.c b/examples/l3fwd/main.c\nindex fe5a257..1f3e5c6 100644\n--- a/examples/l3fwd/main.c\n+++ b/examples/l3fwd/main.c\n@@ -1073,11 +1073,7 @@ l3fwd_simple_forward(struct rte_mbuf *m, uint8_t portid, struct lcore_conf *qcon\n \n \teth_hdr = rte_pktmbuf_mtod(m, struct ether_hdr *);\n \n-#ifdef RTE_NEXT_ABI\n \tif (RTE_ETH_IS_IPV4_HDR(m->packet_type)) {\n-#else\n-\tif (m->ol_flags & PKT_RX_IPV4_HDR) {\n-#endif\n \t\t/* Handle IPv4 headers.*/\n \t\tipv4_hdr = rte_pktmbuf_mtod_offset(m, struct ipv4_hdr *,\n \t\t\t\t\t\t   sizeof(struct ether_hdr));\n@@ -1108,11 +1104,7 @@ l3fwd_simple_forward(struct rte_mbuf *m, uint8_t portid, struct lcore_conf *qcon\n \t\tether_addr_copy(&ports_eth_addr[dst_port], &eth_hdr->s_addr);\n \n \t\tsend_single_packet(m, dst_port);\n-#ifdef RTE_NEXT_ABI\n \t} else if (RTE_ETH_IS_IPV6_HDR(m->packet_type)) {\n-#else\n-\t} else {\n-#endif\n \t\t/* Handle IPv6 headers.*/\n \t\tstruct ipv6_hdr *ipv6_hdr;\n \n@@ -1131,13 +1123,9 @@ l3fwd_simple_forward(struct rte_mbuf *m, uint8_t portid, struct lcore_conf *qcon\n \t\tether_addr_copy(&ports_eth_addr[dst_port], &eth_hdr->s_addr);\n \n \t\tsend_single_packet(m, dst_port);\n-#ifdef RTE_NEXT_ABI\n \t} else\n \t\t/* Free the mbuf that contains non-IPV4/IPV6 packet */\n \t\trte_pktmbuf_free(m);\n-#else\n-\t}\n-#endif\n }\n \n #if ((APP_LOOKUP_METHOD == APP_LOOKUP_LPM) && \\\n@@ -1163,19 +1151,11 @@ l3fwd_simple_forward(struct rte_mbuf *m, uint8_t portid, struct lcore_conf *qcon\n  * to BAD_PORT value.\n  */\n static inline __attribute__((always_inline)) void\n-#ifdef RTE_NEXT_ABI\n rfc1812_process(struct ipv4_hdr *ipv4_hdr, uint16_t *dp, uint32_t ptype)\n-#else\n-rfc1812_process(struct ipv4_hdr *ipv4_hdr, uint16_t *dp, uint32_t flags)\n-#endif\n {\n \tuint8_t ihl;\n \n-#ifdef RTE_NEXT_ABI\n \tif (RTE_ETH_IS_IPV4_HDR(ptype)) {\n-#else\n-\tif ((flags & PKT_RX_IPV4_HDR) != 0) {\n-#endif\n \t\tihl = ipv4_hdr->version_ihl - IPV4_MIN_VER_IHL;\n \n \t\tipv4_hdr->time_to_live--;\n@@ -1206,19 +1186,11 @@ get_dst_port(const struct lcore_conf *qconf, struct rte_mbuf *pkt,\n \tstruct ipv6_hdr *ipv6_hdr;\n \tstruct ether_hdr *eth_hdr;\n \n-#ifdef RTE_NEXT_ABI\n \tif (RTE_ETH_IS_IPV4_HDR(pkt->packet_type)) {\n-#else\n-\tif (pkt->ol_flags & PKT_RX_IPV4_HDR) {\n-#endif\n \t\tif (rte_lpm_lookup(qconf->ipv4_lookup_struct, dst_ipv4,\n \t\t\t\t&next_hop) != 0)\n \t\t\tnext_hop = portid;\n-#ifdef RTE_NEXT_ABI\n \t} else if (RTE_ETH_IS_IPV6_HDR(pkt->packet_type)) {\n-#else\n-\t} else if (pkt->ol_flags & PKT_RX_IPV6_HDR) {\n-#endif\n \t\teth_hdr = rte_pktmbuf_mtod(pkt, struct ether_hdr *);\n \t\tipv6_hdr = (struct ipv6_hdr *)(eth_hdr + 1);\n \t\tif (rte_lpm6_lookup(qconf->ipv6_lookup_struct,\n@@ -1252,17 +1224,12 @@ process_packet(struct lcore_conf *qconf, struct rte_mbuf *pkt,\n \tve = val_eth[dp];\n \n \tdst_port[0] = dp;\n-#ifdef RTE_NEXT_ABI\n \trfc1812_process(ipv4_hdr, dst_port, pkt->packet_type);\n-#else\n-\trfc1812_process(ipv4_hdr, dst_port, pkt->ol_flags);\n-#endif\n \n \tte =  _mm_blend_epi16(te, ve, MASK_ETH);\n \t_mm_store_si128((__m128i *)eth_hdr, te);\n }\n \n-#ifdef RTE_NEXT_ABI\n /*\n  * Read packet_type and destination IPV4 addresses from 4 mbufs.\n  */\n@@ -1297,57 +1264,18 @@ processx4_step1(struct rte_mbuf *pkt[FWDSTEP],\n \n \tdip[0] = _mm_set_epi32(x3, x2, x1, x0);\n }\n-#else /* RTE_NEXT_ABI */\n-/*\n- * Read ol_flags and destination IPV4 addresses from 4 mbufs.\n- */\n-static inline void\n-processx4_step1(struct rte_mbuf *pkt[FWDSTEP], __m128i *dip, uint32_t *flag)\n-{\n-\tstruct ipv4_hdr *ipv4_hdr;\n-\tstruct ether_hdr *eth_hdr;\n-\tuint32_t x0, x1, x2, x3;\n-\n-\teth_hdr = rte_pktmbuf_mtod(pkt[0], struct ether_hdr *);\n-\tipv4_hdr = (struct ipv4_hdr *)(eth_hdr + 1);\n-\tx0 = ipv4_hdr->dst_addr;\n-\tflag[0] = pkt[0]->ol_flags & PKT_RX_IPV4_HDR;\n-\n-\teth_hdr = rte_pktmbuf_mtod(pkt[1], struct ether_hdr *);\n-\tipv4_hdr = (struct ipv4_hdr *)(eth_hdr + 1);\n-\tx1 = ipv4_hdr->dst_addr;\n-\tflag[0] &= pkt[1]->ol_flags;\n-\n-\teth_hdr = rte_pktmbuf_mtod(pkt[2], struct ether_hdr *);\n-\tipv4_hdr = (struct ipv4_hdr *)(eth_hdr + 1);\n-\tx2 = ipv4_hdr->dst_addr;\n-\tflag[0] &= pkt[2]->ol_flags;\n-\n-\teth_hdr = rte_pktmbuf_mtod(pkt[3], struct ether_hdr *);\n-\tipv4_hdr = (struct ipv4_hdr *)(eth_hdr + 1);\n-\tx3 = ipv4_hdr->dst_addr;\n-\tflag[0] &= pkt[3]->ol_flags;\n-\n-\tdip[0] = _mm_set_epi32(x3, x2, x1, x0);\n-}\n-#endif /* RTE_NEXT_ABI */\n \n /*\n  * Lookup into LPM for destination port.\n  * If lookup fails, use incoming port (portid) as destination port.\n  */\n static inline void\n-#ifdef RTE_NEXT_ABI\n processx4_step2(const struct lcore_conf *qconf,\n \t\t__m128i dip,\n \t\tuint32_t ipv4_flag,\n \t\tuint8_t portid,\n \t\tstruct rte_mbuf *pkt[FWDSTEP],\n \t\tuint16_t dprt[FWDSTEP])\n-#else\n-processx4_step2(const struct lcore_conf *qconf, __m128i dip, uint32_t flag,\n-\tuint8_t portid, struct rte_mbuf *pkt[FWDSTEP], uint16_t dprt[FWDSTEP])\n-#endif /* RTE_NEXT_ABI */\n {\n \trte_xmm_t dst;\n \tconst  __m128i bswap_mask = _mm_set_epi8(12, 13, 14, 15, 8, 9, 10, 11,\n@@ -1357,11 +1285,7 @@ processx4_step2(const struct lcore_conf *qconf, __m128i dip, uint32_t flag,\n \tdip = _mm_shuffle_epi8(dip, bswap_mask);\n \n \t/* if all 4 packets are IPV4. */\n-#ifdef RTE_NEXT_ABI\n \tif (likely(ipv4_flag)) {\n-#else\n-\tif (likely(flag != 0)) {\n-#endif\n \t\trte_lpm_lookupx4(qconf->ipv4_lookup_struct, dip, dprt, portid);\n \t} else {\n \t\tdst.x = dip;\n@@ -1411,7 +1335,6 @@ processx4_step3(struct rte_mbuf *pkt[FWDSTEP], uint16_t dst_port[FWDSTEP])\n \t_mm_store_si128(p[2], te[2]);\n \t_mm_store_si128(p[3], te[3]);\n \n-#ifdef RTE_NEXT_ABI\n \trfc1812_process((struct ipv4_hdr *)((struct ether_hdr *)p[0] + 1),\n \t\t&dst_port[0], pkt[0]->packet_type);\n \trfc1812_process((struct ipv4_hdr *)((struct ether_hdr *)p[1] + 1),\n@@ -1420,16 +1343,6 @@ processx4_step3(struct rte_mbuf *pkt[FWDSTEP], uint16_t dst_port[FWDSTEP])\n \t\t&dst_port[2], pkt[2]->packet_type);\n \trfc1812_process((struct ipv4_hdr *)((struct ether_hdr *)p[3] + 1),\n \t\t&dst_port[3], pkt[3]->packet_type);\n-#else /* RTE_NEXT_ABI */\n-\trfc1812_process((struct ipv4_hdr *)((struct ether_hdr *)p[0] + 1),\n-\t\t&dst_port[0], pkt[0]->ol_flags);\n-\trfc1812_process((struct ipv4_hdr *)((struct ether_hdr *)p[1] + 1),\n-\t\t&dst_port[1], pkt[1]->ol_flags);\n-\trfc1812_process((struct ipv4_hdr *)((struct ether_hdr *)p[2] + 1),\n-\t\t&dst_port[2], pkt[2]->ol_flags);\n-\trfc1812_process((struct ipv4_hdr *)((struct ether_hdr *)p[3] + 1),\n-\t\t&dst_port[3], pkt[3]->ol_flags);\n-#endif /* RTE_NEXT_ABI */\n }\n \n /*\n@@ -1616,11 +1529,7 @@ main_loop(__attribute__((unused)) void *dummy)\n \tuint16_t *lp;\n \tuint16_t dst_port[MAX_PKT_BURST];\n \t__m128i dip[MAX_PKT_BURST / FWDSTEP];\n-#ifdef RTE_NEXT_ABI\n \tuint32_t ipv4_flag[MAX_PKT_BURST / FWDSTEP];\n-#else\n-\tuint32_t flag[MAX_PKT_BURST / FWDSTEP];\n-#endif\n \tuint16_t pnum[MAX_PKT_BURST + 1];\n #endif\n \n@@ -1690,7 +1599,6 @@ main_loop(__attribute__((unused)) void *dummy)\n \t\t\t\t */\n \t\t\t\tint32_t n = RTE_ALIGN_FLOOR(nb_rx, 8);\n \t\t\t\tfor (j = 0; j < n; j += 8) {\n-#ifdef RTE_NEXT_ABI\n \t\t\t\t\tuint32_t pkt_type =\n \t\t\t\t\t\tpkts_burst[j]->packet_type &\n \t\t\t\t\t\tpkts_burst[j+1]->packet_type &\n@@ -1705,20 +1613,6 @@ main_loop(__attribute__((unused)) void *dummy)\n \t\t\t\t\t\t&pkts_burst[j], portid, qconf);\n \t\t\t\t\t} else if (pkt_type &\n \t\t\t\t\t\tRTE_PTYPE_L3_IPV6) {\n-#else /* RTE_NEXT_ABI */\n-\t\t\t\t\tuint32_t ol_flag = pkts_burst[j]->ol_flags\n-\t\t\t\t\t\t\t& pkts_burst[j+1]->ol_flags\n-\t\t\t\t\t\t\t& pkts_burst[j+2]->ol_flags\n-\t\t\t\t\t\t\t& pkts_burst[j+3]->ol_flags\n-\t\t\t\t\t\t\t& pkts_burst[j+4]->ol_flags\n-\t\t\t\t\t\t\t& pkts_burst[j+5]->ol_flags\n-\t\t\t\t\t\t\t& pkts_burst[j+6]->ol_flags\n-\t\t\t\t\t\t\t& pkts_burst[j+7]->ol_flags;\n-\t\t\t\t\tif (ol_flag & PKT_RX_IPV4_HDR ) {\n-\t\t\t\t\t\tsimple_ipv4_fwd_8pkts(&pkts_burst[j],\n-\t\t\t\t\t\t\t\t\tportid, qconf);\n-\t\t\t\t\t} else if (ol_flag & PKT_RX_IPV6_HDR) {\n-#endif /* RTE_NEXT_ABI */\n \t\t\t\t\t\tsimple_ipv6_fwd_8pkts(&pkts_burst[j],\n \t\t\t\t\t\t\t\t\tportid, qconf);\n \t\t\t\t\t} else {\n@@ -1751,21 +1645,13 @@ main_loop(__attribute__((unused)) void *dummy)\n \t\t\tfor (j = 0; j != k; j += FWDSTEP) {\n \t\t\t\tprocessx4_step1(&pkts_burst[j],\n \t\t\t\t\t&dip[j / FWDSTEP],\n-#ifdef RTE_NEXT_ABI\n \t\t\t\t\t&ipv4_flag[j / FWDSTEP]);\n-#else\n-\t\t\t\t\t&flag[j / FWDSTEP]);\n-#endif\n \t\t\t}\n \n \t\t\tk = RTE_ALIGN_FLOOR(nb_rx, FWDSTEP);\n \t\t\tfor (j = 0; j != k; j += FWDSTEP) {\n \t\t\t\tprocessx4_step2(qconf, dip[j / FWDSTEP],\n-#ifdef RTE_NEXT_ABI\n \t\t\t\t\tipv4_flag[j / FWDSTEP], portid,\n-#else\n-\t\t\t\t\tflag[j / FWDSTEP], portid,\n-#endif\n \t\t\t\t\t&pkts_burst[j], &dst_port[j]);\n \t\t\t}\n \ndiff --git a/examples/tep_termination/vxlan.c b/examples/tep_termination/vxlan.c\nindex e98a29f..5ee1f95 100644\n--- a/examples/tep_termination/vxlan.c\n+++ b/examples/tep_termination/vxlan.c\n@@ -180,12 +180,7 @@ decapsulation(struct rte_mbuf *pkt)\n \t * (rfc7348) or that the rx offload flag is set (i40e only\n \t * currently)*/\n \tif (udp_hdr->dst_port != rte_cpu_to_be_16(DEFAULT_VXLAN_PORT) &&\n-#ifdef RTE_NEXT_ABI\n \t\t(pkt->packet_type & RTE_PTYPE_TUNNEL_MASK) == 0)\n-#else\n-\t\t\t(pkt->ol_flags & (PKT_RX_TUNNEL_IPV4_HDR |\n-\t\t\t\tPKT_RX_TUNNEL_IPV6_HDR)) == 0)\n-#endif\n \t\treturn -1;\n \touter_header_len = info.outer_l2_len + info.outer_l3_len\n \t\t+ sizeof(struct udp_hdr) + sizeof(struct vxlan_hdr);\ndiff --git a/lib/librte_eal/linuxapp/eal/include/exec-env/rte_kni_common.h b/lib/librte_eal/linuxapp/eal/include/exec-env/rte_kni_common.h\nindex e9f38bd..bd1cc09 100644\n--- a/lib/librte_eal/linuxapp/eal/include/exec-env/rte_kni_common.h\n+++ b/lib/librte_eal/linuxapp/eal/include/exec-env/rte_kni_common.h\n@@ -117,15 +117,9 @@ struct rte_kni_mbuf {\n \tuint16_t data_off;      /**< Start address of data in segment buffer. */\n \tchar pad1[4];\n \tuint64_t ol_flags;      /**< Offload features. */\n-#ifdef RTE_NEXT_ABI\n \tchar pad2[4];\n \tuint32_t pkt_len;       /**< Total pkt len: sum of all segment data_len. */\n \tuint16_t data_len;      /**< Amount of data in segment buffer. */\n-#else\n-\tchar pad2[2];\n-\tuint16_t data_len;      /**< Amount of data in segment buffer. */\n-\tuint32_t pkt_len;       /**< Total pkt len: sum of all segment data_len. */\n-#endif\n \n \t/* fields on second cache line */\n \tchar pad3[8] __attribute__((__aligned__(RTE_CACHE_LINE_SIZE)));\ndiff --git a/lib/librte_mbuf/Makefile b/lib/librte_mbuf/Makefile\nindex 080f3cf..8d62b0d 100644\n--- a/lib/librte_mbuf/Makefile\n+++ b/lib/librte_mbuf/Makefile\n@@ -38,7 +38,7 @@ CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3\n \n EXPORT_MAP := rte_mbuf_version.map\n \n-LIBABIVER := 1\n+LIBABIVER := 2\n \n # all source are stored in SRCS-y\n SRCS-$(CONFIG_RTE_LIBRTE_MBUF) := rte_mbuf.c\ndiff --git a/lib/librte_mbuf/rte_mbuf.c b/lib/librte_mbuf/rte_mbuf.c\nindex e416312..c18b438 100644\n--- a/lib/librte_mbuf/rte_mbuf.c\n+++ b/lib/librte_mbuf/rte_mbuf.c\n@@ -258,18 +258,8 @@ const char *rte_get_rx_ol_flag_name(uint64_t mask)\n \t/* case PKT_RX_HBUF_OVERFLOW: return \"PKT_RX_HBUF_OVERFLOW\"; */\n \t/* case PKT_RX_RECIP_ERR: return \"PKT_RX_RECIP_ERR\"; */\n \t/* case PKT_RX_MAC_ERR: return \"PKT_RX_MAC_ERR\"; */\n-#ifndef RTE_NEXT_ABI\n-\tcase PKT_RX_IPV4_HDR: return \"PKT_RX_IPV4_HDR\";\n-\tcase PKT_RX_IPV4_HDR_EXT: return \"PKT_RX_IPV4_HDR_EXT\";\n-\tcase PKT_RX_IPV6_HDR: return \"PKT_RX_IPV6_HDR\";\n-\tcase PKT_RX_IPV6_HDR_EXT: return \"PKT_RX_IPV6_HDR_EXT\";\n-#endif /* RTE_NEXT_ABI */\n \tcase PKT_RX_IEEE1588_PTP: return \"PKT_RX_IEEE1588_PTP\";\n \tcase PKT_RX_IEEE1588_TMST: return \"PKT_RX_IEEE1588_TMST\";\n-#ifndef RTE_NEXT_ABI\n-\tcase PKT_RX_TUNNEL_IPV4_HDR: return \"PKT_RX_TUNNEL_IPV4_HDR\";\n-\tcase PKT_RX_TUNNEL_IPV6_HDR: return \"PKT_RX_TUNNEL_IPV6_HDR\";\n-#endif /* RTE_NEXT_ABI */\n \tdefault: return NULL;\n \t}\n }\ndiff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h\nindex 8c2db1b..d7c9030 100644\n--- a/lib/librte_mbuf/rte_mbuf.h\n+++ b/lib/librte_mbuf/rte_mbuf.h\n@@ -93,18 +93,8 @@ extern \"C\" {\n #define PKT_RX_HBUF_OVERFLOW (0ULL << 0)  /**< Header buffer overflow. */\n #define PKT_RX_RECIP_ERR     (0ULL << 0)  /**< Hardware processing error. */\n #define PKT_RX_MAC_ERR       (0ULL << 0)  /**< MAC error. */\n-#ifndef RTE_NEXT_ABI\n-#define PKT_RX_IPV4_HDR      (1ULL << 5)  /**< RX packet with IPv4 header. */\n-#define PKT_RX_IPV4_HDR_EXT  (1ULL << 6)  /**< RX packet with extended IPv4 header. */\n-#define PKT_RX_IPV6_HDR      (1ULL << 7)  /**< RX packet with IPv6 header. */\n-#define PKT_RX_IPV6_HDR_EXT  (1ULL << 8)  /**< RX packet with extended IPv6 header. */\n-#endif /* RTE_NEXT_ABI */\n #define PKT_RX_IEEE1588_PTP  (1ULL << 9)  /**< RX IEEE1588 L2 Ethernet PT Packet. */\n #define PKT_RX_IEEE1588_TMST (1ULL << 10) /**< RX IEEE1588 L2/L4 timestamped packet.*/\n-#ifndef RTE_NEXT_ABI\n-#define PKT_RX_TUNNEL_IPV4_HDR (1ULL << 11) /**< RX tunnel packet with IPv4 header.*/\n-#define PKT_RX_TUNNEL_IPV6_HDR (1ULL << 12) /**< RX tunnel packet with IPv6 header. */\n-#endif /* RTE_NEXT_ABI */\n #define PKT_RX_FDIR_ID       (1ULL << 13) /**< FD id reported if FDIR match. */\n #define PKT_RX_FDIR_FLX      (1ULL << 14) /**< Flexible bytes reported if FDIR match. */\n #define PKT_RX_QINQ_PKT      (1ULL << 15)  /**< RX packet with double VLAN stripped. */\n@@ -209,7 +199,6 @@ extern \"C\" {\n /* Use final bit of flags to indicate a control mbuf */\n #define CTRL_MBUF_FLAG       (1ULL << 63) /**< Mbuf contains control data */\n \n-#ifdef RTE_NEXT_ABI\n /*\n  * 32 bits are divided into several fields to mark packet types. Note that\n  * each field is indexical.\n@@ -696,7 +685,6 @@ extern \"C\" {\n                                                  RTE_PTYPE_INNER_L2_MASK | \\\n                                                  RTE_PTYPE_INNER_L3_MASK | \\\n                                                  RTE_PTYPE_INNER_L4_MASK))\n-#endif /* RTE_NEXT_ABI */\n \n /** Alignment constraint of mbuf private area. */\n #define RTE_MBUF_PRIV_ALIGN 8\n@@ -775,7 +763,6 @@ struct rte_mbuf {\n \t/* remaining bytes are set on RX when pulling packet from descriptor */\n \tMARKER rx_descriptor_fields1;\n \n-#ifdef RTE_NEXT_ABI\n \t/*\n \t * The packet type, which is the combination of outer/inner L2, L3, L4\n \t * and tunnel types.\n@@ -796,19 +783,7 @@ struct rte_mbuf {\n \tuint32_t pkt_len;         /**< Total pkt len: sum of all segments. */\n \tuint16_t data_len;        /**< Amount of data in segment buffer. */\n \tuint16_t vlan_tci;        /**< VLAN Tag Control Identifier (CPU order) */\n-#else /* RTE_NEXT_ABI */\n-\t/**\n-\t * The packet type, which is used to indicate ordinary packet and also\n-\t * tunneled packet format, i.e. each number is represented a type of\n-\t * packet.\n-\t */\n-\tuint16_t packet_type;\n \n-\tuint16_t data_len;        /**< Amount of data in segment buffer. */\n-\tuint32_t pkt_len;         /**< Total pkt len: sum of all segments. */\n-\tuint16_t vlan_tci;        /**< VLAN Tag Control Identifier (CPU order) */\n-\tuint16_t vlan_tci_outer;  /**< Outer VLAN Tag Control Identifier (CPU order) */\n-#endif /* RTE_NEXT_ABI */\n \tunion {\n \t\tuint32_t rss;     /**< RSS hash result if RSS enabled */\n \t\tstruct {\n@@ -829,9 +804,8 @@ struct rte_mbuf {\n \t} hash;                   /**< hash information */\n \n \tuint32_t seqn; /**< Sequence number. See also rte_reorder_insert() */\n-#ifdef RTE_NEXT_ABI\n+\n \tuint16_t vlan_tci_outer;  /**< Outer VLAN Tag Control Identifier (CPU order) */\n-#endif /* RTE_NEXT_ABI */\n \n \t/* second cache line - fields only used in slow path or on TX */\n \tMARKER cacheline1 __rte_cache_aligned;\n",
    "prefixes": [
        "dpdk-dev",
        "v2",
        "03/10"
    ]
}