get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 42134,
    "url": "http://patches.dpdk.org/api/patches/42134/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20180702212750.16758-6-thomas@monjalon.net/",
    "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": "<20180702212750.16758-6-thomas@monjalon.net>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20180702212750.16758-6-thomas@monjalon.net",
    "date": "2018-07-02T21:27:50",
    "name": "[v2,5/5] ethdev: remove old offload API",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "5680ae95388bef0ff8453cb763c06b49f4e00894",
    "submitter": {
        "id": 685,
        "url": "http://patches.dpdk.org/api/people/685/?format=api",
        "name": "Thomas Monjalon",
        "email": "thomas@monjalon.net"
    },
    "delegate": {
        "id": 319,
        "url": "http://patches.dpdk.org/api/users/319/?format=api",
        "username": "fyigit",
        "first_name": "Ferruh",
        "last_name": "Yigit",
        "email": "ferruh.yigit@amd.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20180702212750.16758-6-thomas@monjalon.net/mbox/",
    "series": [
        {
            "id": 366,
            "url": "http://patches.dpdk.org/api/series/366/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=366",
            "date": "2018-07-02T21:27:45",
            "name": "remove old ethdev offload API",
            "version": 2,
            "mbox": "http://patches.dpdk.org/series/366/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/42134/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/42134/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 [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 172EA1BDF8;\n\tMon,  2 Jul 2018 23:28:11 +0200 (CEST)",
            "from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com\n\t[66.111.4.25]) by dpdk.org (Postfix) with ESMTP id AB5D91BDDA\n\tfor <dev@dpdk.org>; Mon,  2 Jul 2018 23:28:04 +0200 (CEST)",
            "from compute1.internal (compute1.nyi.internal [10.202.2.41])\n\tby mailout.nyi.internal (Postfix) with ESMTP id 5B19421BF7;\n\tMon,  2 Jul 2018 17:28:04 -0400 (EDT)",
            "from mailfrontend2 ([10.202.2.163])\n\tby compute1.internal (MEProxy); Mon, 02 Jul 2018 17:28:04 -0400",
            "from xps.monjalon.net (184.203.134.77.rev.sfr.net [77.134.203.184])\n\tby mail.messagingengine.com (Postfix) with ESMTPA id CFC1710268;\n\tMon,  2 Jul 2018 17:28:02 -0400 (EDT)"
        ],
        "DKIM-Signature": [
            "v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h=\n\tcc:date:from:in-reply-to:message-id:references:subject:to\n\t:x-me-sender:x-me-sender:x-sasl-enc; s=mesmtp; bh=h1aOVPcL6kLsuz\n\tR+pBWyXCh9CUo1u7FuREvBei48l8A=; b=naVNUPRY/SqYD/7uKWYuESPAh7jRQv\n\tEAnPQhiKR3SAw2fQNgWQIGByMHHcjbUL5mS2yvkFXNgN0ziQLLS2u4LuwtPxD/O+\n\tBq98bMlqSIuS113a0xr8KZZOD9oCUlpChUoxRfU2rBp5efDJr32Mo7Vi1z9vYUzA\n\twqHxETnSEXYYE=",
            "v=1; a=rsa-sha256; c=relaxed/relaxed; d=\n\tmessagingengine.com; h=cc:date:from:in-reply-to:message-id\n\t:references:subject:to:x-me-sender:x-me-sender:x-sasl-enc; s=\n\tfm3; bh=h1aOVPcL6kLsuzR+pBWyXCh9CUo1u7FuREvBei48l8A=; b=JiE6IWew\n\tnX6h/sdr/hO31XPqxmbRCJJX6gSn9iyHUT5mM63DX9VDkdoMK+fB00zCDokqgc9S\n\tcAeC86BJqEl6GRGy8eGezdqDWZWF4AL3dqUq2fW9uVxqQmkm/bAxy1YG7kjySxp6\n\ti6HYaOAWF6vFySLaVXZvKErVp/QJdmWbWElKdyO5f4fEW/HmGzDt0rZw9fJvHob1\n\tVmQEXF5tFOlpAQRDgcnD8oyEtMzt0dQRRLFturPl+OvCSngUI3Jyod2KPDEqmsH4\n\tWfayZn1vFa5XOpkttPGox3SYxvHfVO3olLObgOvGR9jqrtKRY9noPdbWUFH3ZBBz\n\tOFWACQNzABHAmA=="
        ],
        "X-ME-Proxy": "<xmx:5Jg6W78AXVloKRAPBVLo34AFnYu7oYpfvx9cnXiUD7tWQ2DK3H2e4w>\n\t<xmx:5Jg6W3IPwAiCAlByuNAXtJe4J_R4rk6gvkCSen5Ec1HyPJP7CoSfZA>\n\t<xmx:5Jg6W6EE6vSh3wmSymRdUmE3h3pAa-W0e3FRjVbf1Rzt3f8WeIvqSQ>\n\t<xmx:5Jg6W7wR450oQ3aRofo8I_Pz0Ns2_0fwc4WGkmglOdjPDGa7nlEOaw>\n\t<xmx:5Jg6Wz7l0P0XAlJYMyM99S5YzxcRLWfWHNcpwLOpg3nC5gLywmm1qg>\n\t<xmx:5Jg6W51QIXWW04kzfDrPQaWoW1oSZ6kvmecFcx_Yvtd-LE9KVS0lKA>",
        "X-ME-Sender": "<xms:5Jg6W2QlHo1bMGPRCuefha8Q3Tl_D6TMoKuQg9_NKDvMgFSmxFnxWw>",
        "From": "Thomas Monjalon <thomas@monjalon.net>",
        "To": "ferruh.yigit@intel.com, arybchenko@solarflare.com, shahafs@mellanox.com",
        "Cc": "dev@dpdk.org, ravi1.kumar@amd.com, rasesh.mody@cavium.com,\n\tmaxime.coquelin@redhat.com",
        "Date": "Mon,  2 Jul 2018 23:27:50 +0200",
        "Message-Id": "<20180702212750.16758-6-thomas@monjalon.net>",
        "X-Mailer": "git-send-email 2.17.1",
        "In-Reply-To": "<20180702212750.16758-1-thomas@monjalon.net>",
        "References": "<1571938.317irMz1sZ@xps>\n\t<20180702212750.16758-1-thomas@monjalon.net>",
        "Subject": "[dpdk-dev] [PATCH v2 5/5] ethdev: remove old offload API",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "From: Ferruh Yigit <ferruh.yigit@intel.com>\n\nIn DPDK 17.11, the ethdev offloads API has changed:\n\tcommit cba7f53b717d (\"ethdev: introduce Tx queue offloads API\")\n\tcommit ce17eddefc20 (\"ethdev: introduce Rx queue offloads API\")\nThe new API is documented in the programmer's guide:\n\thttp://doc.dpdk.org/guides/prog_guide/poll_mode_drv.html#hardware-offload\n\nFor reminder, the main concepts in the new API were:\n\t- All offloads are disabled by default\n\t- Distinction between per port and per queue offloads.\n\nThe transition bits are now removed:\n\t- Translation of the old API in ethdev\n\t- rte_eth_conf.rxmode.ignore_offload_bitfield\n\t- ETH_TXQ_FLAGS_IGNORE\n\nThe old API bits are now removed:\n\t- Rx per-port rte_eth_conf.rxmode.[bit-fields]\n\t- Tx per-queue rte_eth_txconf.txq_flags\n\t- ETH_TXQ_FLAGS_NO*\n\nSigned-off-by: Ferruh Yigit <ferruh.yigit@intel.com>\nSigned-off-by: Thomas Monjalon <thomas@monjalon.net>\n---\n app/test-eventdev/test_pipeline_common.c      |   1 -\n app/test-pmd/testpmd.c                        |   3 -\n doc/guides/nics/features.rst                  |   1 -\n doc/guides/prog_guide/poll_mode_drv.rst       |   5 -\n doc/guides/rel_notes/deprecation.rst          |   9 --\n doc/guides/sample_app_ug/flow_filtering.rst   |   2 -\n drivers/net/axgbe/axgbe_ethdev.c              |   2 -\n drivers/net/axgbe/axgbe_rxtx.c                |   4 +-\n drivers/net/ixgbe/ixgbe_rxtx.c                |   2 +-\n drivers/net/nfp/nfp_net.c                     |   4 +-\n drivers/net/qede/qede_ethdev.c                |   4 +-\n drivers/net/sfc/sfc_dp_tx.h                   |   2 -\n drivers/net/sfc/sfc_ethdev.c                  |   5 +-\n drivers/net/sfc/sfc_rx.c                      |   1 -\n drivers/net/sfc/sfc_tx.c                      |  25 +---\n drivers/net/sfc/sfc_tx.h                      |   1 -\n drivers/net/virtio/virtio_ethdev.c            |   3 -\n drivers/net/vmxnet3/vmxnet3_ethdev.c          |   1 -\n examples/bond/main.c                          |   3 -\n examples/distributor/main.c                   |   2 -\n examples/ethtool/ethtool-app/main.c           |   2 -\n examples/eventdev_pipeline/main.c             |   2 -\n examples/exception_path/main.c                |   2 -\n examples/flow_classify/flow_classify.c        |   2 -\n examples/flow_filtering/main.c                |   1 -\n examples/ip_fragmentation/main.c              |   2 -\n examples/ip_reassembly/main.c                 |   2 -\n examples/ipsec-secgw/ipsec-secgw.c            |   2 -\n examples/ipv4_multicast/main.c                |   2 -\n examples/kni/main.c                           |   2 -\n examples/l2fwd-crypto/main.c                  |   2 -\n examples/l2fwd-jobstats/main.c                |   2 -\n examples/l2fwd-keepalive/main.c               |   2 -\n examples/l2fwd/main.c                         |   2 -\n examples/l3fwd-acl/main.c                     |   2 -\n examples/l3fwd-power/main.c                   |   2 -\n examples/l3fwd-vf/main.c                      |   2 -\n examples/l3fwd/main.c                         |   2 -\n examples/link_status_interrupt/main.c         |   2 -\n examples/load_balancer/init.c                 |   2 -\n examples/multi_process/l2fwd_fork/main.c      |   2 -\n examples/multi_process/symmetric_mp/main.c    |   2 -\n examples/netmap_compat/bridge/bridge.c        |   1 -\n examples/netmap_compat/lib/compat_netmap.c    |   1 -\n examples/packet_ordering/main.c               |   7 +-\n .../performance-thread/l3fwd-thread/main.c    |   2 -\n examples/ptpclient/ptpclient.c                |   3 -\n examples/qos_meter/main.c                     |   3 -\n examples/qos_sched/init.c                     |   2 -\n examples/quota_watermark/qw/init.c            |   2 -\n examples/rxtx_callbacks/main.c                |   2 -\n examples/server_node_efd/server/init.c        |   2 -\n examples/skeleton/basicfwd.c                  |   2 -\n examples/tep_termination/vxlan_setup.c        |   2 -\n examples/vhost/main.c                         |   2 -\n examples/vm_power_manager/main.c              |   2 -\n examples/vmdq/main.c                          |   2 -\n examples/vmdq_dcb/main.c                      |   2 -\n lib/librte_ethdev/rte_ethdev.c                | 115 ------------------\n lib/librte_ethdev/rte_ethdev.h                |  60 +--------\n 60 files changed, 13 insertions(+), 322 deletions(-)",
    "diff": "diff --git a/app/test-eventdev/test_pipeline_common.c b/app/test-eventdev/test_pipeline_common.c\nindex 719518ff3..3bc9d513d 100644\n--- a/app/test-eventdev/test_pipeline_common.c\n+++ b/app/test-eventdev/test_pipeline_common.c\n@@ -223,7 +223,6 @@ pipeline_ethdev_setup(struct evt_test *test, struct evt_options *opt)\n \t\t\t.mq_mode = ETH_MQ_RX_RSS,\n \t\t\t.max_rx_pkt_len = ETHER_MAX_LEN,\n \t\t\t.offloads = DEV_RX_OFFLOAD_CRC_STRIP,\n-\t\t\t.ignore_offload_bitfield = 1,\n \t\t},\n \t\t.rx_adv_conf = {\n \t\t\t.rss_conf = {\ndiff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c\nindex 63c2a5aca..dde7d43e3 100644\n--- a/app/test-pmd/testpmd.c\n+++ b/app/test-pmd/testpmd.c\n@@ -334,7 +334,6 @@ lcoreid_t latencystats_lcore_id = -1;\n struct rte_eth_rxmode rx_mode = {\n \t.max_rx_pkt_len = ETHER_MAX_LEN, /**< Default maximum frame length. */\n \t.offloads = DEV_RX_OFFLOAD_CRC_STRIP,\n-\t.ignore_offload_bitfield = 1,\n };\n \n struct rte_eth_txmode tx_mode = {\n@@ -1645,8 +1644,6 @@ start_port(portid_t pid)\n \t\t\tport->need_reconfig_queues = 0;\n \t\t\t/* setup tx queues */\n \t\t\tfor (qi = 0; qi < nb_txq; qi++) {\n-\t\t\t\tport->tx_conf[qi].txq_flags =\n-\t\t\t\t\tETH_TXQ_FLAGS_IGNORE;\n \t\t\t\tif ((numa_support) &&\n \t\t\t\t\t(txring_numa[pi] != NUMA_NO_CONFIG))\n \t\t\t\t\tdiag = rte_eth_tx_queue_setup(pi, qi,\ndiff --git a/doc/guides/nics/features.rst b/doc/guides/nics/features.rst\nindex ee89d6bfa..902ac160d 100644\n--- a/doc/guides/nics/features.rst\n+++ b/doc/guides/nics/features.rst\n@@ -577,7 +577,6 @@ Supports L4 checksum offload.\n \n * **[uses]     rte_eth_rxconf,rte_eth_rxmode**: ``offloads:DEV_RX_OFFLOAD_UDP_CKSUM,DEV_RX_OFFLOAD_TCP_CKSUM``.\n * **[uses]     rte_eth_txconf,rte_eth_txmode**: ``offloads:DEV_TX_OFFLOAD_UDP_CKSUM,DEV_TX_OFFLOAD_TCP_CKSUM,DEV_TX_OFFLOAD_SCTP_CKSUM``.\n-* **[uses]     user config**: ``dev_conf.rxmode.hw_ip_checksum``.\n * **[uses]     mbuf**: ``mbuf.ol_flags:PKT_TX_IPV4`` | ``PKT_TX_IPV6``,\n   ``mbuf.ol_flags:PKT_TX_L4_NO_CKSUM`` | ``PKT_TX_TCP_CKSUM`` |\n   ``PKT_TX_SCTP_CKSUM`` | ``PKT_TX_UDP_CKSUM``.\ndiff --git a/doc/guides/prog_guide/poll_mode_drv.rst b/doc/guides/prog_guide/poll_mode_drv.rst\nindex af82352a0..4b69f6cbe 100644\n--- a/doc/guides/prog_guide/poll_mode_drv.rst\n+++ b/doc/guides/prog_guide/poll_mode_drv.rst\n@@ -328,11 +328,6 @@ A newly added offloads in ``[rt]x_conf->offloads`` to ``rte_eth_[rt]x_queue_setu\n is the one which hasn't been enabled in ``rte_eth_dev_configure()`` and is requested to be enabled\n in ``rte_eth_[rt]x_queue_setup()``. It must be per-queue type, otherwise trigger an error log.\n \n-For an application to use the Tx offloads API it should set the ``ETH_TXQ_FLAGS_IGNORE`` flag in the ``txq_flags`` field located in ``rte_eth_txconf`` struct.\n-In such cases it is not required to set other flags in ``txq_flags``.\n-For an application to use the Rx offloads API it should set the ``ignore_offload_bitfield`` bit in the ``rte_eth_rxmode`` struct.\n-In such cases it is not required to set other bitfield offloads in the ``rxmode`` struct.\n-\n Poll Mode Driver API\n --------------------\n \ndiff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst\nindex cd128ae23..8df41cb6a 100644\n--- a/doc/guides/rel_notes/deprecation.rst\n+++ b/doc/guides/rel_notes/deprecation.rst\n@@ -58,15 +58,6 @@ Deprecation Notices\n   experimental API ``rte_pktmbuf_attach_extbuf()`` is used. Removal of the macro\n   is to fix this semantic inconsistency.\n \n-* ethdev: a new Tx and Rx offload API was introduced on 17.11.\n-  In the new API, offloads are divided into per-port and per-queue offloads.\n-  Offloads are disabled by default and enabled per application request.\n-\n-  In later releases the old offloading API will be deprecated, which will include:\n-  - removal of ``ETH_TXQ_FLAGS_NO*`` flags.\n-  - removal of ``txq_flags`` field from ``rte_eth_txconf`` struct.\n-  - removal of the offloads bit-field from ``rte_eth_rxmode`` struct.\n-\n * ethdev: In v18.11 ``DEV_RX_OFFLOAD_CRC_STRIP`` offload flag will be removed, default\n   behavior without any flag will be changed to CRC strip.\n   To keep CRC ``DEV_RX_OFFLOAD_KEEP_CRC`` flag is required.\ndiff --git a/doc/guides/sample_app_ug/flow_filtering.rst b/doc/guides/sample_app_ug/flow_filtering.rst\nindex bbf8af0e6..bd0ae1e2f 100644\n--- a/doc/guides/sample_app_ug/flow_filtering.rst\n+++ b/doc/guides/sample_app_ug/flow_filtering.rst\n@@ -139,7 +139,6 @@ application is shown below:\n            struct rte_eth_conf port_conf = {\n                    .rxmode = {\n                            .split_hdr_size = 0,\n-                           .ignore_offload_bitfield = 1,\n                            .offloads = DEV_RX_OFFLOAD_CRC_STRIP,\n                            },\n                    .txmode = {\n@@ -216,7 +215,6 @@ The Ethernet port is configured with default settings using the\n    struct rte_eth_conf port_conf = {\n            .rxmode = {\n                    .split_hdr_size = 0,\n-                   .ignore_offload_bitfield = 1,\n                    .offloads = DEV_RX_OFFLOAD_CRC_STRIP,\n                    },\n            .txmode = {\ndiff --git a/drivers/net/axgbe/axgbe_ethdev.c b/drivers/net/axgbe/axgbe_ethdev.c\nindex e3773f4a2..c9c56c48b 100644\n--- a/drivers/net/axgbe/axgbe_ethdev.c\n+++ b/drivers/net/axgbe/axgbe_ethdev.c\n@@ -387,8 +387,6 @@ axgbe_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)\n \n \tdev_info->default_txconf = (struct rte_eth_txconf) {\n \t\t.tx_free_thresh = AXGBE_TX_FREE_THRESH,\n-\t\t.txq_flags = ETH_TXQ_FLAGS_NOMULTSEGS |\n-\t\t\t\tETH_TXQ_FLAGS_NOOFFLOADS,\n \t};\n }\n \ndiff --git a/drivers/net/axgbe/axgbe_rxtx.c b/drivers/net/axgbe/axgbe_rxtx.c\nindex eae830f2e..c5fd5f418 100644\n--- a/drivers/net/axgbe/axgbe_rxtx.c\n+++ b/drivers/net/axgbe/axgbe_rxtx.c\n@@ -371,10 +371,8 @@ int axgbe_dev_tx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx,\n \tif (txq->nb_desc % txq->free_thresh != 0)\n \t\ttxq->vector_disable = 1;\n \n-\tif ((tx_conf->txq_flags & (uint32_t)ETH_TXQ_FLAGS_NOOFFLOADS) !=\n-\t    ETH_TXQ_FLAGS_NOOFFLOADS) {\n+\tif (tx_conf->offloads != 0)\n \t\ttxq->vector_disable = 1;\n-\t}\n \n \t/* Allocate TX ring hardware descriptors */\n \ttsize = txq->nb_desc * sizeof(struct axgbe_tx_desc);\ndiff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c\nindex 9f2e5f114..354181664 100644\n--- a/drivers/net/ixgbe/ixgbe_rxtx.c\n+++ b/drivers/net/ixgbe/ixgbe_rxtx.c\n@@ -1420,7 +1420,7 @@ rx_desc_status_to_pkt_flags(uint32_t rx_status, uint64_t vlan_flags)\n \t/*\n \t * Check if VLAN present only.\n \t * Do not check whether L3/L4 rx checksum done by NIC or not,\n-\t * That can be found from rte_eth_rxmode.hw_ip_checksum flag\n+\t * That can be found from rte_eth_rxmode.offloads flag\n \t */\n \tpkt_flags = (rx_status & IXGBE_RXD_STAT_VP) ?  vlan_flags : 0;\n \ndiff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c\nindex 5e3533901..30d3cd97b 100644\n--- a/drivers/net/nfp/nfp_net.c\n+++ b/drivers/net/nfp/nfp_net.c\n@@ -1439,9 +1439,9 @@ nfp_net_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu)\n \n \t/* switch to jumbo mode if needed */\n \tif ((uint32_t)mtu > ETHER_MAX_LEN)\n-\t\tdev->data->dev_conf.rxmode.jumbo_frame = 1;\n+\t\tdev->data->dev_conf.rxmode.offloads |= DEV_RX_OFFLOAD_JUMBO_FRAME;\n \telse\n-\t\tdev->data->dev_conf.rxmode.jumbo_frame = 0;\n+\t\tdev->data->dev_conf.rxmode.offloads &= ~DEV_RX_OFFLOAD_JUMBO_FRAME;\n \n \t/* update max frame size */\n \tdev->data->dev_conf.rxmode.max_rx_pkt_len = (uint32_t)mtu;\ndiff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethdev.c\nindex 32005e969..eb2a22992 100644\n--- a/drivers/net/qede/qede_ethdev.c\n+++ b/drivers/net/qede/qede_ethdev.c\n@@ -2537,9 +2537,9 @@ static int qede_set_mtu(struct rte_eth_dev *dev, uint16_t mtu)\n \t\t}\n \t}\n \tif (max_rx_pkt_len > ETHER_MAX_LEN)\n-\t\tdev->data->dev_conf.rxmode.jumbo_frame = 1;\n+\t\tdev->data->dev_conf.rxmode.offloads |= DEV_RX_OFFLOAD_JUMBO_FRAME;\n \telse\n-\t\tdev->data->dev_conf.rxmode.jumbo_frame = 0;\n+\t\tdev->data->dev_conf.rxmode.offloads &= ~DEV_RX_OFFLOAD_JUMBO_FRAME;\n \n \tif (!dev->data->dev_started && restart) {\n \t\tqede_dev_start(dev);\ndiff --git a/drivers/net/sfc/sfc_dp_tx.h b/drivers/net/sfc/sfc_dp_tx.h\nindex a075612c7..eda9676c8 100644\n--- a/drivers/net/sfc/sfc_dp_tx.h\n+++ b/drivers/net/sfc/sfc_dp_tx.h\n@@ -39,8 +39,6 @@ struct sfc_dp_tx_qcreate_info {\n \tunsigned int\t\tmax_fill_level;\n \t/** Minimum number of unused Tx descriptors to do reap */\n \tunsigned int\t\tfree_thresh;\n-\t/** Transmit queue configuration flags */\n-\tunsigned int\t\tflags;\n \t/** Offloads enabled on the transmit queue */\n \tuint64_t\t\toffloads;\n \t/** Tx queue size */\ndiff --git a/drivers/net/sfc/sfc_ethdev.c b/drivers/net/sfc/sfc_ethdev.c\nindex 1b6499f85..531539e84 100644\n--- a/drivers/net/sfc/sfc_ethdev.c\n+++ b/drivers/net/sfc/sfc_ethdev.c\n@@ -874,14 +874,12 @@ sfc_dev_set_mtu(struct rte_eth_dev *dev, uint16_t mtu)\n \t}\n \n \t/*\n-\t * The driver does not use it, but other PMDs update jumbo_frame\n+\t * The driver does not use it, but other PMDs update jumbo frame\n \t * flag and max_rx_pkt_len when MTU is set.\n \t */\n \tif (mtu > ETHER_MAX_LEN) {\n \t\tstruct rte_eth_rxmode *rxmode = &dev->data->dev_conf.rxmode;\n-\n \t\trxmode->offloads |= DEV_RX_OFFLOAD_JUMBO_FRAME;\n-\t\trxmode->jumbo_frame = 1;\n \t}\n \n \tdev->data->dev_conf.rxmode.max_rx_pkt_len = sa->port.pdu;\n@@ -1089,7 +1087,6 @@ sfc_tx_queue_info_get(struct rte_eth_dev *dev, uint16_t tx_queue_id,\n \n \tmemset(qinfo, 0, sizeof(*qinfo));\n \n-\tqinfo->conf.txq_flags = txq_info->txq->flags;\n \tqinfo->conf.offloads = txq_info->txq->offloads;\n \tqinfo->conf.tx_free_thresh = txq_info->txq->free_thresh;\n \tqinfo->conf.tx_deferred_start = txq_info->deferred_start;\ndiff --git a/drivers/net/sfc/sfc_rx.c b/drivers/net/sfc/sfc_rx.c\nindex 98858d9d9..158c8e94b 100644\n--- a/drivers/net/sfc/sfc_rx.c\n+++ b/drivers/net/sfc/sfc_rx.c\n@@ -1449,7 +1449,6 @@ sfc_rx_check_mode(struct sfc_adapter *sa, struct rte_eth_rxmode *rxmode)\n \tif (rte_eth_dev_must_keep_crc(rxmode->offloads)) {\n \t\tsfc_warn(sa, \"FCS stripping cannot be disabled - always on\");\n \t\trxmode->offloads |= DEV_RX_OFFLOAD_CRC_STRIP;\n-\t\trxmode->hw_strip_crc = 1;\n \t}\n \n \treturn rc;\ndiff --git a/drivers/net/sfc/sfc_tx.c b/drivers/net/sfc/sfc_tx.c\nindex 1bcc2c697..6d42a1a65 100644\n--- a/drivers/net/sfc/sfc_tx.c\n+++ b/drivers/net/sfc/sfc_tx.c\n@@ -171,7 +171,6 @@ sfc_tx_qinit(struct sfc_adapter *sa, unsigned int sw_index,\n \ttxq->free_thresh =\n \t\t(tx_conf->tx_free_thresh) ? tx_conf->tx_free_thresh :\n \t\tSFC_TX_DEFAULT_FREE_THRESH;\n-\ttxq->flags = tx_conf->txq_flags;\n \ttxq->offloads = offloads;\n \n \trc = sfc_dma_alloc(sa, \"txq\", sw_index, EFX_TXQ_SIZE(txq_info->entries),\n@@ -182,7 +181,6 @@ sfc_tx_qinit(struct sfc_adapter *sa, unsigned int sw_index,\n \tmemset(&info, 0, sizeof(info));\n \tinfo.max_fill_level = txq_max_fill_level;\n \tinfo.free_thresh = txq->free_thresh;\n-\tinfo.flags = tx_conf->txq_flags;\n \tinfo.offloads = offloads;\n \tinfo.txq_entries = txq_info->entries;\n \tinfo.dma_desc_size_max = encp->enc_tx_dma_desc_size_max;\n@@ -431,18 +429,10 @@ sfc_tx_qstart(struct sfc_adapter *sa, unsigned int sw_index)\n \tif (rc != 0)\n \t\tgoto fail_ev_qstart;\n \n-\t/*\n-\t * The absence of ETH_TXQ_FLAGS_IGNORE is associated with a legacy\n-\t * application which expects that IPv4 checksum offload is enabled\n-\t * all the time as there is no legacy flag to turn off the offload.\n-\t */\n-\tif ((txq->offloads & DEV_TX_OFFLOAD_IPV4_CKSUM) ||\n-\t    (~txq->flags & ETH_TXQ_FLAGS_IGNORE))\n+\tif (txq->offloads & DEV_TX_OFFLOAD_IPV4_CKSUM)\n \t\tflags |= EFX_TXQ_CKSUM_IPV4;\n \n-\tif ((txq->offloads & DEV_TX_OFFLOAD_OUTER_IPV4_CKSUM) ||\n-\t    ((~txq->flags & ETH_TXQ_FLAGS_IGNORE) &&\n-\t     (offloads_supported & DEV_TX_OFFLOAD_OUTER_IPV4_CKSUM)))\n+\tif (txq->offloads & DEV_TX_OFFLOAD_OUTER_IPV4_CKSUM)\n \t\tflags |= EFX_TXQ_CKSUM_INNER_IPV4;\n \n \tif ((txq->offloads & DEV_TX_OFFLOAD_TCP_CKSUM) ||\n@@ -453,16 +443,7 @@ sfc_tx_qstart(struct sfc_adapter *sa, unsigned int sw_index)\n \t\t\tflags |= EFX_TXQ_CKSUM_INNER_TCPUDP;\n \t}\n \n-\t/*\n-\t * The absence of ETH_TXQ_FLAGS_IGNORE is associated with a legacy\n-\t * application. In turn, the absence of ETH_TXQ_FLAGS_NOXSUMTCP is\n-\t * associated specifically with a legacy application which expects\n-\t * both TCP checksum offload and TSO to be enabled because the legacy\n-\t * API does not provide a dedicated mechanism to control TSO.\n-\t */\n-\tif ((txq->offloads & DEV_TX_OFFLOAD_TCP_TSO) ||\n-\t    ((~txq->flags & ETH_TXQ_FLAGS_IGNORE) &&\n-\t     (~txq->flags & ETH_TXQ_FLAGS_NOXSUMTCP)))\n+\tif (txq->offloads & DEV_TX_OFFLOAD_TCP_TSO)\n \t\tflags |= EFX_TXQ_FATSOV2;\n \n \trc = efx_tx_qcreate(sa->nic, sw_index, 0, &txq->mem,\ndiff --git a/drivers/net/sfc/sfc_tx.h b/drivers/net/sfc/sfc_tx.h\nindex c2e5f13e9..146b805ca 100644\n--- a/drivers/net/sfc/sfc_tx.h\n+++ b/drivers/net/sfc/sfc_tx.h\n@@ -58,7 +58,6 @@ struct sfc_txq {\n \tstruct sfc_dp_txq\t\t*dp;\n \tefx_txq_t\t\t\t*common;\n \tunsigned int\t\t\tfree_thresh;\n-\tunsigned int\t\t\tflags;\n \tuint64_t\t\t\toffloads;\n };\n \ndiff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c\nindex 02980e3d1..119666611 100644\n--- a/drivers/net/virtio/virtio_ethdev.c\n+++ b/drivers/net/virtio/virtio_ethdev.c\n@@ -2143,9 +2143,6 @@ virtio_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)\n \tdev_info->min_rx_bufsize = VIRTIO_MIN_RX_BUFSIZE;\n \tdev_info->max_rx_pktlen = VIRTIO_MAX_RX_PKTLEN;\n \tdev_info->max_mac_addrs = VIRTIO_MAX_MAC_ADDRS;\n-\tdev_info->default_txconf = (struct rte_eth_txconf) {\n-\t\t.txq_flags = ETH_TXQ_FLAGS_NOOFFLOADS\n-\t};\n \n \thost_features = VTPCI_OPS(hw)->get_features(hw);\n \tdev_info->rx_offload_capa = DEV_RX_OFFLOAD_VLAN_STRIP |\ndiff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmxnet3_ethdev.c\nindex 95b465952..ace9d37c5 100644\n--- a/drivers/net/vmxnet3/vmxnet3_ethdev.c\n+++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c\n@@ -1054,7 +1054,6 @@ vmxnet3_dev_info_get(struct rte_eth_dev *dev __rte_unused,\n \tdev_info->speed_capa = ETH_LINK_SPEED_10G;\n \tdev_info->max_mac_addrs = VMXNET3_MAX_MAC_ADDRS;\n \n-\tdev_info->default_txconf.txq_flags = ETH_TXQ_FLAGS_NOXSUMSCTP;\n \tdev_info->flow_type_rss_offloads = VMXNET3_RSS_OFFLOAD_ALL;\n \n \tdev_info->rx_desc_lim = (struct rte_eth_desc_lim) {\ndiff --git a/examples/bond/main.c b/examples/bond/main.c\nindex 65e0edd25..98415d66d 100644\n--- a/examples/bond/main.c\n+++ b/examples/bond/main.c\n@@ -122,7 +122,6 @@ static struct rte_eth_conf port_conf = {\n \t\t.mq_mode = ETH_MQ_RX_NONE,\n \t\t.max_rx_pkt_len = ETHER_MAX_LEN,\n \t\t.split_hdr_size = 0,\n-\t\t.ignore_offload_bitfield = 1,\n \t\t.offloads = DEV_RX_OFFLOAD_CRC_STRIP,\n \t},\n \t.rx_adv_conf = {\n@@ -177,7 +176,6 @@ slave_port_init(uint16_t portid, struct rte_mempool *mbuf_pool)\n \n \t/* TX setup */\n \ttxq_conf = dev_info.default_txconf;\n-\ttxq_conf.txq_flags = ETH_TXQ_FLAGS_IGNORE;\n \ttxq_conf.offloads = local_port_conf.txmode.offloads;\n \tretval = rte_eth_tx_queue_setup(portid, 0, nb_txd,\n \t\t\t\trte_eth_dev_socket_id(portid), &txq_conf);\n@@ -246,7 +244,6 @@ bond_port_init(struct rte_mempool *mbuf_pool)\n \n \t/* TX setup */\n \ttxq_conf = dev_info.default_txconf;\n-\ttxq_conf.txq_flags = ETH_TXQ_FLAGS_IGNORE;\n \ttxq_conf.offloads = local_port_conf.txmode.offloads;\n \tretval = rte_eth_tx_queue_setup(BOND_PORT, 0, nb_txd,\n \t\t\t\trte_eth_dev_socket_id(BOND_PORT), &txq_conf);\ndiff --git a/examples/distributor/main.c b/examples/distributor/main.c\nindex 2c5936489..85881a2e8 100644\n--- a/examples/distributor/main.c\n+++ b/examples/distributor/main.c\n@@ -80,7 +80,6 @@ static const struct rte_eth_conf port_conf_default = {\n \t.rxmode = {\n \t\t.mq_mode = ETH_MQ_RX_RSS,\n \t\t.max_rx_pkt_len = ETHER_MAX_LEN,\n-\t\t.ignore_offload_bitfield = 1,\n \t},\n \t.txmode = {\n \t\t.mq_mode = ETH_MQ_TX_NONE,\n@@ -141,7 +140,6 @@ port_init(uint16_t port, struct rte_mempool *mbuf_pool)\n \t}\n \n \ttxconf = dev_info.default_txconf;\n-\ttxconf.txq_flags = ETH_TXQ_FLAGS_IGNORE;\n \ttxconf.offloads = port_conf.txmode.offloads;\n \tfor (q = 0; q < txRings; q++) {\n \t\tretval = rte_eth_tx_queue_setup(port, q, nb_txd,\ndiff --git a/examples/ethtool/ethtool-app/main.c b/examples/ethtool/ethtool-app/main.c\nindex c1815bb94..dc93adfe3 100644\n--- a/examples/ethtool/ethtool-app/main.c\n+++ b/examples/ethtool/ethtool-app/main.c\n@@ -99,7 +99,6 @@ static void setup_ports(struct app_config *app_cfg, int cnt_ports)\n \n \tmemset(&cfg_port, 0, sizeof(cfg_port));\n \tcfg_port.txmode.mq_mode = ETH_MQ_TX_NONE;\n-\tcfg_port.rxmode.ignore_offload_bitfield = 1;\n \n \tfor (idx_port = 0; idx_port < cnt_ports; idx_port++) {\n \t\tstruct app_port *ptr_port = &app_cfg->ports[idx_port];\n@@ -142,7 +141,6 @@ static void setup_ports(struct app_config *app_cfg, int cnt_ports)\n \t\t\t\t \"rte_eth_rx_queue_setup failed\"\n \t\t\t\t);\n \t\ttxconf = dev_info.default_txconf;\n-\t\ttxconf.txq_flags = ETH_TXQ_FLAGS_IGNORE;\n \t\tif (rte_eth_tx_queue_setup(\n \t\t\t    idx_port, 0, nb_txd,\n \t\t\t    rte_eth_dev_socket_id(idx_port), &txconf) < 0)\ndiff --git a/examples/eventdev_pipeline/main.c b/examples/eventdev_pipeline/main.c\nindex b698e4ca2..7bc294946 100644\n--- a/examples/eventdev_pipeline/main.c\n+++ b/examples/eventdev_pipeline/main.c\n@@ -267,7 +267,6 @@ port_init(uint8_t port, struct rte_mempool *mbuf_pool)\n \t\t.rxmode = {\n \t\t\t.mq_mode = ETH_MQ_RX_RSS,\n \t\t\t.max_rx_pkt_len = ETHER_MAX_LEN,\n-\t\t\t.ignore_offload_bitfield = 1,\n \t\t},\n \t\t.rx_adv_conf = {\n \t\t\t.rss_conf = {\n@@ -307,7 +306,6 @@ port_init(uint8_t port, struct rte_mempool *mbuf_pool)\n \t}\n \n \ttxconf = dev_info.default_txconf;\n-\ttxconf.txq_flags = ETH_TXQ_FLAGS_IGNORE;\n \ttxconf.offloads = port_conf_default.txmode.offloads;\n \t/* Allocate and set up 1 TX queue per Ethernet port. */\n \tfor (q = 0; q < tx_rings; q++) {\ndiff --git a/examples/exception_path/main.c b/examples/exception_path/main.c\nindex 2b381a5d8..0b59f6b3f 100644\n--- a/examples/exception_path/main.c\n+++ b/examples/exception_path/main.c\n@@ -88,7 +88,6 @@\n /* Options for configuring ethernet port */\n static struct rte_eth_conf port_conf = {\n \t.rxmode = {\n-\t\t.ignore_offload_bitfield = 1,\n \t\t.offloads = DEV_RX_OFFLOAD_CRC_STRIP,\n \t},\n \t.txmode = {\n@@ -457,7 +456,6 @@ init_port(uint16_t port)\n \t\t\t\tport, ret);\n \n \ttxq_conf = dev_info.default_txconf;\n-\ttxq_conf.txq_flags = ETH_TXQ_FLAGS_IGNORE;\n \ttxq_conf.offloads = local_port_conf.txmode.offloads;\n \tret = rte_eth_tx_queue_setup(port, 0, nb_txd,\n \t\t\t\trte_eth_dev_socket_id(port),\ndiff --git a/examples/flow_classify/flow_classify.c b/examples/flow_classify/flow_classify.c\nindex 6412fe440..199612926 100644\n--- a/examples/flow_classify/flow_classify.c\n+++ b/examples/flow_classify/flow_classify.c\n@@ -62,7 +62,6 @@ const char cb_port_delim[] = \":\";\n static const struct rte_eth_conf port_conf_default = {\n \t.rxmode = {\n \t\t.max_rx_pkt_len = ETHER_MAX_LEN,\n-\t\t.ignore_offload_bitfield = 1,\n \t},\n };\n \n@@ -222,7 +221,6 @@ port_init(uint8_t port, struct rte_mempool *mbuf_pool)\n \t}\n \n \ttxconf = dev_info.default_txconf;\n-\ttxconf.txq_flags = ETH_TXQ_FLAGS_IGNORE;\n \ttxconf.offloads = port_conf.txmode.offloads;\n \t/* Allocate and set up 1 TX queue per Ethernet port. */\n \tfor (q = 0; q < tx_rings; q++) {\ndiff --git a/examples/flow_filtering/main.c b/examples/flow_filtering/main.c\nindex e0ee51679..f59503439 100644\n--- a/examples/flow_filtering/main.c\n+++ b/examples/flow_filtering/main.c\n@@ -121,7 +121,6 @@ init_port(void)\n \tstruct rte_eth_conf port_conf = {\n \t\t.rxmode = {\n \t\t\t.split_hdr_size = 0,\n-\t\t\t.ignore_offload_bitfield = 1,\n \t\t\t.offloads = DEV_RX_OFFLOAD_CRC_STRIP,\n \t\t},\n \t\t.txmode = {\ndiff --git a/examples/ip_fragmentation/main.c b/examples/ip_fragmentation/main.c\nindex 8952ea456..5306d7672 100644\n--- a/examples/ip_fragmentation/main.c\n+++ b/examples/ip_fragmentation/main.c\n@@ -140,7 +140,6 @@ static struct rte_eth_conf port_conf = {\n \t.rxmode = {\n \t\t.max_rx_pkt_len = JUMBO_FRAME_MAX_SIZE,\n \t\t.split_hdr_size = 0,\n-\t\t.ignore_offload_bitfield = 1,\n \t\t.offloads = (DEV_RX_OFFLOAD_CHECKSUM |\n \t\t\t     DEV_RX_OFFLOAD_JUMBO_FRAME |\n \t\t\t     DEV_RX_OFFLOAD_CRC_STRIP),\n@@ -973,7 +972,6 @@ main(int argc, char **argv)\n \t\t\tfflush(stdout);\n \n \t\t\ttxconf = &dev_info.default_txconf;\n-\t\t\ttxconf->txq_flags = ETH_TXQ_FLAGS_IGNORE;\n \t\t\ttxconf->offloads = local_port_conf.txmode.offloads;\n \t\t\tret = rte_eth_tx_queue_setup(portid, queueid, nb_txd,\n \t\t\t\t\t\t     socket, txconf);\ndiff --git a/examples/ip_reassembly/main.c b/examples/ip_reassembly/main.c\nindex 3e8e79c21..94e63fc6a 100644\n--- a/examples/ip_reassembly/main.c\n+++ b/examples/ip_reassembly/main.c\n@@ -164,7 +164,6 @@ static struct rte_eth_conf port_conf = {\n \t\t.mq_mode        = ETH_MQ_RX_RSS,\n \t\t.max_rx_pkt_len = JUMBO_FRAME_MAX_SIZE,\n \t\t.split_hdr_size = 0,\n-\t\t.ignore_offload_bitfield = 1,\n \t\t.offloads = (DEV_RX_OFFLOAD_CHECKSUM |\n \t\t\t     DEV_RX_OFFLOAD_JUMBO_FRAME |\n \t\t\t     DEV_RX_OFFLOAD_CRC_STRIP),\n@@ -1121,7 +1120,6 @@ main(int argc, char **argv)\n \t\t\tfflush(stdout);\n \n \t\t\ttxconf = &dev_info.default_txconf;\n-\t\t\ttxconf->txq_flags = ETH_TXQ_FLAGS_IGNORE;\n \t\t\ttxconf->offloads = local_port_conf.txmode.offloads;\n \n \t\t\tret = rte_eth_tx_queue_setup(portid, queueid, nb_txd,\ndiff --git a/examples/ipsec-secgw/ipsec-secgw.c b/examples/ipsec-secgw/ipsec-secgw.c\nindex a5da8b280..199bae51b 100644\n--- a/examples/ipsec-secgw/ipsec-secgw.c\n+++ b/examples/ipsec-secgw/ipsec-secgw.c\n@@ -199,7 +199,6 @@ static struct rte_eth_conf port_conf = {\n \t\t.split_hdr_size = 0,\n \t\t.offloads = DEV_RX_OFFLOAD_CHECKSUM |\n \t\t\t    DEV_RX_OFFLOAD_CRC_STRIP,\n-\t\t.ignore_offload_bitfield = 1,\n \t},\n \t.rx_adv_conf = {\n \t\t.rss_conf = {\n@@ -1592,7 +1591,6 @@ port_init(uint16_t portid)\n \t\tprintf(\"Setup txq=%u,%d,%d\\n\", lcore_id, tx_queueid, socket_id);\n \n \t\ttxconf = &dev_info.default_txconf;\n-\t\ttxconf->txq_flags = ETH_TXQ_FLAGS_IGNORE;\n \t\ttxconf->offloads = local_port_conf.txmode.offloads;\n \n \t\tret = rte_eth_tx_queue_setup(portid, tx_queueid, nb_txd,\ndiff --git a/examples/ipv4_multicast/main.c b/examples/ipv4_multicast/main.c\nindex ad2072f41..331c32e71 100644\n--- a/examples/ipv4_multicast/main.c\n+++ b/examples/ipv4_multicast/main.c\n@@ -109,7 +109,6 @@ static struct rte_eth_conf port_conf = {\n \t.rxmode = {\n \t\t.max_rx_pkt_len = JUMBO_FRAME_MAX_SIZE,\n \t\t.split_hdr_size = 0,\n-\t\t.ignore_offload_bitfield = 1,\n \t\t.offloads = (DEV_RX_OFFLOAD_JUMBO_FRAME |\n \t\t\t     DEV_RX_OFFLOAD_CRC_STRIP),\n \t},\n@@ -764,7 +763,6 @@ main(int argc, char **argv)\n \t\t\tfflush(stdout);\n \n \t\t\ttxconf = &dev_info.default_txconf;\n-\t\t\ttxconf->txq_flags = ETH_TXQ_FLAGS_IGNORE;\n \t\t\ttxconf->offloads = local_port_conf.txmode.offloads;\n \t\t\tret = rte_eth_tx_queue_setup(portid, queueid, nb_txd,\n \t\t\t\t\t\t     rte_lcore_to_socket_id(lcore_id), txconf);\ndiff --git a/examples/kni/main.c b/examples/kni/main.c\nindex 4b162debb..81336087d 100644\n--- a/examples/kni/main.c\n+++ b/examples/kni/main.c\n@@ -95,7 +95,6 @@ static struct kni_port_params *kni_port_params_array[RTE_MAX_ETHPORTS];\n /* Options for configuring ethernet port */\n static struct rte_eth_conf port_conf = {\n \t.rxmode = {\n-\t\t.ignore_offload_bitfield = 1,\n \t\t.offloads = DEV_RX_OFFLOAD_CRC_STRIP,\n \t},\n \t.txmode = {\n@@ -607,7 +606,6 @@ init_port(uint16_t port)\n \t\t\t\t\"port%u (%d)\\n\", (unsigned)port, ret);\n \n \ttxq_conf = dev_info.default_txconf;\n-\ttxq_conf.txq_flags = ETH_TXQ_FLAGS_IGNORE;\n \ttxq_conf.offloads = local_port_conf.txmode.offloads;\n \tret = rte_eth_tx_queue_setup(port, 0, nb_txd,\n \t\trte_eth_dev_socket_id(port), &txq_conf);\ndiff --git a/examples/l2fwd-crypto/main.c b/examples/l2fwd-crypto/main.c\nindex 4bca87b19..1b5587968 100644\n--- a/examples/l2fwd-crypto/main.c\n+++ b/examples/l2fwd-crypto/main.c\n@@ -211,7 +211,6 @@ static struct rte_eth_conf port_conf = {\n \t\t.mq_mode = ETH_MQ_RX_NONE,\n \t\t.max_rx_pkt_len = ETHER_MAX_LEN,\n \t\t.split_hdr_size = 0,\n-\t\t.ignore_offload_bitfield = 1,\n \t\t.offloads = DEV_RX_OFFLOAD_CRC_STRIP,\n \t},\n \t.txmode = {\n@@ -2371,7 +2370,6 @@ initialize_ports(struct l2fwd_crypto_options *options)\n \t\t/* init one TX queue on each port */\n \t\tfflush(stdout);\n \t\ttxq_conf = dev_info.default_txconf;\n-\t\ttxq_conf.txq_flags = ETH_TXQ_FLAGS_IGNORE;\n \t\ttxq_conf.offloads = local_port_conf.txmode.offloads;\n \t\tretval = rte_eth_tx_queue_setup(portid, 0, nb_txd,\n \t\t\t\trte_eth_dev_socket_id(portid),\ndiff --git a/examples/l2fwd-jobstats/main.c b/examples/l2fwd-jobstats/main.c\nindex 34553faa2..af5423382 100644\n--- a/examples/l2fwd-jobstats/main.c\n+++ b/examples/l2fwd-jobstats/main.c\n@@ -90,7 +90,6 @@ struct rte_eth_dev_tx_buffer *tx_buffer[RTE_MAX_ETHPORTS];\n static struct rte_eth_conf port_conf = {\n \t.rxmode = {\n \t\t.split_hdr_size = 0,\n-\t\t.ignore_offload_bitfield = 1,\n \t\t.offloads = DEV_RX_OFFLOAD_CRC_STRIP,\n \t},\n \t.txmode = {\n@@ -876,7 +875,6 @@ main(int argc, char **argv)\n \n \t\t/* init one TX queue on each port */\n \t\ttxq_conf = dev_info.default_txconf;\n-\t\ttxq_conf.txq_flags = ETH_TXQ_FLAGS_IGNORE;\n \t\ttxq_conf.offloads = local_port_conf.txmode.offloads;\n \t\tfflush(stdout);\n \t\tret = rte_eth_tx_queue_setup(portid, 0, nb_txd,\ndiff --git a/examples/l2fwd-keepalive/main.c b/examples/l2fwd-keepalive/main.c\nindex a18b707cd..2d8b4d1c6 100644\n--- a/examples/l2fwd-keepalive/main.c\n+++ b/examples/l2fwd-keepalive/main.c\n@@ -81,7 +81,6 @@ struct rte_eth_dev_tx_buffer *tx_buffer[RTE_MAX_ETHPORTS];\n static struct rte_eth_conf port_conf = {\n \t.rxmode = {\n \t\t.split_hdr_size = 0,\n-\t\t.ignore_offload_bitfield = 1,\n \t\t.offloads = DEV_RX_OFFLOAD_CRC_STRIP,\n \t},\n \t.txmode = {\n@@ -671,7 +670,6 @@ main(int argc, char **argv)\n \t\t/* init one TX queue on each port */\n \t\tfflush(stdout);\n \t\ttxq_conf = dev_info.default_txconf;\n-\t\ttxq_conf.txq_flags = ETH_TXQ_FLAGS_IGNORE;\n \t\ttxq_conf.offloads = local_port_conf.txmode.offloads;\n \t\tret = rte_eth_tx_queue_setup(portid, 0, nb_txd,\n \t\t\t\trte_eth_dev_socket_id(portid),\ndiff --git a/examples/l2fwd/main.c b/examples/l2fwd/main.c\nindex 690843578..9bb4c5bc4 100644\n--- a/examples/l2fwd/main.c\n+++ b/examples/l2fwd/main.c\n@@ -82,7 +82,6 @@ static struct rte_eth_dev_tx_buffer *tx_buffer[RTE_MAX_ETHPORTS];\n static struct rte_eth_conf port_conf = {\n \t.rxmode = {\n \t\t.split_hdr_size = 0,\n-\t\t.ignore_offload_bitfield = 1,\n \t\t.offloads = DEV_RX_OFFLOAD_CRC_STRIP,\n \t},\n \t.txmode = {\n@@ -670,7 +669,6 @@ main(int argc, char **argv)\n \t\t/* init one TX queue on each port */\n \t\tfflush(stdout);\n \t\ttxq_conf = dev_info.default_txconf;\n-\t\ttxq_conf.txq_flags = ETH_TXQ_FLAGS_IGNORE;\n \t\ttxq_conf.offloads = local_port_conf.txmode.offloads;\n \t\tret = rte_eth_tx_queue_setup(portid, 0, nb_txd,\n \t\t\t\trte_eth_dev_socket_id(portid),\ndiff --git a/examples/l3fwd-acl/main.c b/examples/l3fwd-acl/main.c\nindex 33ad467d3..55a5a69e5 100644\n--- a/examples/l3fwd-acl/main.c\n+++ b/examples/l3fwd-acl/main.c\n@@ -127,7 +127,6 @@ static struct rte_eth_conf port_conf = {\n \t\t.mq_mode\t= ETH_MQ_RX_RSS,\n \t\t.max_rx_pkt_len = ETHER_MAX_LEN,\n \t\t.split_hdr_size = 0,\n-\t\t.ignore_offload_bitfield = 1,\n \t\t.offloads = (DEV_RX_OFFLOAD_CRC_STRIP |\n \t\t\t     DEV_RX_OFFLOAD_CHECKSUM),\n \t},\n@@ -1982,7 +1981,6 @@ main(int argc, char **argv)\n \n \t\t\trte_eth_dev_info_get(portid, &dev_info);\n \t\t\ttxconf = &dev_info.default_txconf;\n-\t\t\ttxconf->txq_flags = ETH_TXQ_FLAGS_IGNORE;\n \t\t\ttxconf->offloads = local_port_conf.txmode.offloads;\n \t\t\tret = rte_eth_tx_queue_setup(portid, queueid, nb_txd,\n \t\t\t\t\t\t     socketid, txconf);\ndiff --git a/examples/l3fwd-power/main.c b/examples/l3fwd-power/main.c\nindex 596d64548..710b76d12 100644\n--- a/examples/l3fwd-power/main.c\n+++ b/examples/l3fwd-power/main.c\n@@ -184,7 +184,6 @@ static struct rte_eth_conf port_conf = {\n \t\t.mq_mode        = ETH_MQ_RX_RSS,\n \t\t.max_rx_pkt_len = ETHER_MAX_LEN,\n \t\t.split_hdr_size = 0,\n-\t\t.ignore_offload_bitfield = 1,\n \t\t.offloads = (DEV_RX_OFFLOAD_CRC_STRIP |\n \t\t\t     DEV_RX_OFFLOAD_CHECKSUM),\n \t},\n@@ -1750,7 +1749,6 @@ main(int argc, char **argv)\n \t\t\tfflush(stdout);\n \n \t\t\ttxconf = &dev_info.default_txconf;\n-\t\t\ttxconf->txq_flags = ETH_TXQ_FLAGS_IGNORE;\n \t\t\ttxconf->offloads = local_port_conf.txmode.offloads;\n \t\t\tret = rte_eth_tx_queue_setup(portid, queueid, nb_txd,\n \t\t\t\t\t\t     socketid, txconf);\ndiff --git a/examples/l3fwd-vf/main.c b/examples/l3fwd-vf/main.c\nindex aaafb7bc2..43e629828 100644\n--- a/examples/l3fwd-vf/main.c\n+++ b/examples/l3fwd-vf/main.c\n@@ -161,7 +161,6 @@ static struct rte_eth_conf port_conf = {\n \t\t.mq_mode\t= ETH_MQ_RX_RSS,\n \t\t.max_rx_pkt_len = ETHER_MAX_LEN,\n \t\t.split_hdr_size = 0,\n-\t\t.ignore_offload_bitfield = 1,\n \t\t.offloads = (DEV_RX_OFFLOAD_CRC_STRIP |\n \t\t\t     DEV_RX_OFFLOAD_CHECKSUM),\n \t},\n@@ -1009,7 +1008,6 @@ main(int argc, char **argv)\n \t\tfflush(stdout);\n \n \t\ttxconf = &dev_info.default_txconf;\n-\t\ttxconf->txq_flags = ETH_TXQ_FLAGS_IGNORE;\n \t\ttxconf->offloads = local_port_conf.txmode.offloads;\n \t\tret = rte_eth_tx_queue_setup(portid, 0, nb_txd,\n \t\t\t\t\t\t socketid, txconf);\ndiff --git a/examples/l3fwd/main.c b/examples/l3fwd/main.c\nindex bf7dbd814..faef9f1ac 100644\n--- a/examples/l3fwd/main.c\n+++ b/examples/l3fwd/main.c\n@@ -120,7 +120,6 @@ static struct rte_eth_conf port_conf = {\n \t\t.mq_mode = ETH_MQ_RX_RSS,\n \t\t.max_rx_pkt_len = ETHER_MAX_LEN,\n \t\t.split_hdr_size = 0,\n-\t\t.ignore_offload_bitfield = 1,\n \t\t.offloads = (DEV_RX_OFFLOAD_CRC_STRIP |\n \t\t\t     DEV_RX_OFFLOAD_CHECKSUM),\n \t},\n@@ -909,7 +908,6 @@ main(int argc, char **argv)\n \t\t\tfflush(stdout);\n \n \t\t\ttxconf = &dev_info.default_txconf;\n-\t\t\ttxconf->txq_flags = ETH_TXQ_FLAGS_IGNORE;\n \t\t\ttxconf->offloads = local_port_conf.txmode.offloads;\n \t\t\tret = rte_eth_tx_queue_setup(portid, queueid, nb_txd,\n \t\t\t\t\t\t     socketid, txconf);\ndiff --git a/examples/link_status_interrupt/main.c b/examples/link_status_interrupt/main.c\nindex f56895680..3b732076b 100644\n--- a/examples/link_status_interrupt/main.c\n+++ b/examples/link_status_interrupt/main.c\n@@ -79,7 +79,6 @@ struct rte_eth_dev_tx_buffer *tx_buffer[RTE_MAX_ETHPORTS];\n static struct rte_eth_conf port_conf = {\n \t.rxmode = {\n \t\t.split_hdr_size = 0,\n-\t\t.ignore_offload_bitfield = 1,\n \t\t.offloads = DEV_RX_OFFLOAD_CRC_STRIP,\n \t},\n \t.txmode = {\n@@ -653,7 +652,6 @@ main(int argc, char **argv)\n \t\t/* init one TX queue logical core on each port */\n \t\tfflush(stdout);\n \t\ttxq_conf = dev_info.default_txconf;\n-\t\ttxq_conf.txq_flags = ETH_TXQ_FLAGS_IGNORE;\n \t\ttxq_conf.offloads = local_port_conf.txmode.offloads;\n \t\tret = rte_eth_tx_queue_setup(portid, 0, nb_txd,\n \t\t\t\trte_eth_dev_socket_id(portid),\ndiff --git a/examples/load_balancer/init.c b/examples/load_balancer/init.c\nindex 8d8dbe61e..6aa079c69 100644\n--- a/examples/load_balancer/init.c\n+++ b/examples/load_balancer/init.c\n@@ -45,7 +45,6 @@ static struct rte_eth_conf port_conf = {\n \t.rxmode = {\n \t\t.mq_mode\t= ETH_MQ_RX_RSS,\n \t\t.split_hdr_size = 0,\n-\t\t.ignore_offload_bitfield = 1,\n \t\t.offloads = (DEV_RX_OFFLOAD_CHECKSUM |\n \t\t\t     DEV_RX_OFFLOAD_CRC_STRIP),\n \t},\n@@ -466,7 +465,6 @@ app_init_nics(void)\n \t\t}\n \n \t\ttxq_conf = dev_info.default_txconf;\n-\t\ttxq_conf.txq_flags = ETH_TXQ_FLAGS_IGNORE;\n \t\ttxq_conf.offloads = local_port_conf.txmode.offloads;\n \t\t/* Init TX queues */\n \t\tif (app.nic_tx_port_mask[port] == 1) {\ndiff --git a/examples/multi_process/l2fwd_fork/main.c b/examples/multi_process/l2fwd_fork/main.c\nindex 94318ab61..20a6a3d87 100644\n--- a/examples/multi_process/l2fwd_fork/main.c\n+++ b/examples/multi_process/l2fwd_fork/main.c\n@@ -127,7 +127,6 @@ struct cpu_aff_arg{\n static const struct rte_eth_conf port_conf = {\n \t.rxmode = {\n \t\t.split_hdr_size = 0,\n-\t\t.ignore_offload_bitfield = 1,\n \t\t.offloads = DEV_RX_OFFLOAD_CRC_STRIP,\n \t},\n \t.txmode = {\n@@ -1073,7 +1072,6 @@ main(int argc, char **argv)\n \t\t/* init one TX queue on each port */\n \t\tfflush(stdout);\n \t\ttxq_conf = dev_info.default_txconf;\n-\t\ttxq_conf.txq_flags = ETH_TXQ_FLAGS_IGNORE;\n \t\ttxq_conf.tx_offloads = local_port_conf.txmode.offloads;\n \t\tret = rte_eth_tx_queue_setup(portid, 0, nb_txd,\n \t\t\t\trte_eth_dev_socket_id(portid),\ndiff --git a/examples/multi_process/symmetric_mp/main.c b/examples/multi_process/symmetric_mp/main.c\nindex 16f21a187..c36326917 100644\n--- a/examples/multi_process/symmetric_mp/main.c\n+++ b/examples/multi_process/symmetric_mp/main.c\n@@ -178,7 +178,6 @@ smp_port_init(uint16_t port, struct rte_mempool *mbuf_pool,\n \t\t\t.rxmode = {\n \t\t\t\t.mq_mode\t= ETH_MQ_RX_RSS,\n \t\t\t\t.split_hdr_size = 0,\n-\t\t\t\t.ignore_offload_bitfield = 1,\n \t\t\t\t.offloads = (DEV_RX_OFFLOAD_CHECKSUM |\n \t\t\t\t\t     DEV_RX_OFFLOAD_CRC_STRIP),\n \t\t\t},\n@@ -236,7 +235,6 @@ smp_port_init(uint16_t port, struct rte_mempool *mbuf_pool,\n \t}\n \n \ttxq_conf = info.default_txconf;\n-\ttxq_conf.txq_flags = ETH_TXQ_FLAGS_IGNORE;\n \ttxq_conf.offloads = port_conf.txmode.offloads;\n \tfor (q = 0; q < tx_rings; q ++) {\n \t\tretval = rte_eth_tx_queue_setup(port, q, nb_txd,\ndiff --git a/examples/netmap_compat/bridge/bridge.c b/examples/netmap_compat/bridge/bridge.c\nindex cb1882e65..7afca28cd 100644\n--- a/examples/netmap_compat/bridge/bridge.c\n+++ b/examples/netmap_compat/bridge/bridge.c\n@@ -26,7 +26,6 @@\n struct rte_eth_conf eth_conf = {\n \t.rxmode = {\n \t\t.split_hdr_size = 0,\n-\t\t.ignore_offload_bitfield = 1,\n \t\t.offloads = DEV_RX_OFFLOAD_CRC_STRIP,\n \t},\n \t.txmode = {\ndiff --git a/examples/netmap_compat/lib/compat_netmap.c b/examples/netmap_compat/lib/compat_netmap.c\nindex af3dd223f..0be0663ed 100644\n--- a/examples/netmap_compat/lib/compat_netmap.c\n+++ b/examples/netmap_compat/lib/compat_netmap.c\n@@ -708,7 +708,6 @@ rte_netmap_init_port(uint16_t portid, const struct rte_netmap_port_conf *conf)\n \trxq_conf = dev_info.default_rxconf;\n \trxq_conf.offloads = conf->eth_conf->rxmode.offloads;\n \ttxq_conf = dev_info.default_txconf;\n-\ttxq_conf.txq_flags = ETH_TXQ_FLAGS_IGNORE;\n \ttxq_conf.offloads = conf->eth_conf->txmode.offloads;\n \tfor (i = 0; i < conf->nr_tx_rings; i++) {\n \t\tret = rte_eth_tx_queue_setup(portid, i, tx_slots,\ndiff --git a/examples/packet_ordering/main.c b/examples/packet_ordering/main.c\nindex 7ace7d10e..149bfdd02 100644\n--- a/examples/packet_ordering/main.c\n+++ b/examples/packet_ordering/main.c\n@@ -35,11 +35,7 @@ volatile uint8_t quit_signal;\n \n static struct rte_mempool *mbuf_pool;\n \n-static struct rte_eth_conf port_conf_default = {\n-\t.rxmode = {\n-\t\t.ignore_offload_bitfield = 1,\n-\t},\n-};\n+static struct rte_eth_conf port_conf_default;\n \n struct worker_thread_args {\n \tstruct rte_ring *ring_in;\n@@ -293,7 +289,6 @@ configure_eth_port(uint16_t port_id)\n \t}\n \n \ttxconf = dev_info.default_txconf;\n-\ttxconf.txq_flags = ETH_TXQ_FLAGS_IGNORE;\n \ttxconf.offloads = port_conf.txmode.offloads;\n \tfor (q = 0; q < txRings; q++) {\n \t\tret = rte_eth_tx_queue_setup(port_id, q, nb_txd,\ndiff --git a/examples/performance-thread/l3fwd-thread/main.c b/examples/performance-thread/l3fwd-thread/main.c\nindex 40d807239..d1e4a1880 100644\n--- a/examples/performance-thread/l3fwd-thread/main.c\n+++ b/examples/performance-thread/l3fwd-thread/main.c\n@@ -306,7 +306,6 @@ static struct rte_eth_conf port_conf = {\n \t\t.mq_mode = ETH_MQ_RX_RSS,\n \t\t.max_rx_pkt_len = ETHER_MAX_LEN,\n \t\t.split_hdr_size = 0,\n-\t\t.ignore_offload_bitfield = 1,\n \t\t.offloads = (DEV_RX_OFFLOAD_CHECKSUM |\n \t\t\t     DEV_RX_OFFLOAD_CRC_STRIP),\n \t},\n@@ -3597,7 +3596,6 @@ main(int argc, char **argv)\n \t\t\tfflush(stdout);\n \n \t\t\ttxconf = &dev_info.default_txconf;\n-\t\t\ttxconf->txq_flags = ETH_TXQ_FLAGS_IGNORE;\n \t\t\ttxconf->offloads = local_port_conf.txmode.offloads;\n \t\t\tret = rte_eth_tx_queue_setup(portid, queueid, nb_txd,\n \t\t\t\t\t\t     socketid, txconf);\ndiff --git a/examples/ptpclient/ptpclient.c b/examples/ptpclient/ptpclient.c\nindex c44013bc1..82ae71c19 100644\n--- a/examples/ptpclient/ptpclient.c\n+++ b/examples/ptpclient/ptpclient.c\n@@ -50,7 +50,6 @@ static uint8_t ptp_enabled_ports[RTE_MAX_ETHPORTS];\n static const struct rte_eth_conf port_conf_default = {\n \t.rxmode = {\n \t\t.max_rx_pkt_len = ETHER_MAX_LEN,\n-\t\t.ignore_offload_bitfield = 1,\n \t},\n };\n \n@@ -217,11 +216,9 @@ port_init(uint16_t port, struct rte_mempool *mbuf_pool)\n \n \t/* Allocate and set up 1 TX queue per Ethernet port. */\n \tfor (q = 0; q < tx_rings; q++) {\n-\t\t/* Setup txq_flags */\n \t\tstruct rte_eth_txconf *txconf;\n \n \t\ttxconf = &dev_info.default_txconf;\n-\t\ttxconf->txq_flags = ETH_TXQ_FLAGS_IGNORE;\n \t\ttxconf->offloads = port_conf.txmode.offloads;\n \n \t\tretval = rte_eth_tx_queue_setup(port, q, nb_txd,\ndiff --git a/examples/qos_meter/main.c b/examples/qos_meter/main.c\nindex 42cf4b29f..ca0e9e863 100644\n--- a/examples/qos_meter/main.c\n+++ b/examples/qos_meter/main.c\n@@ -56,7 +56,6 @@ static struct rte_eth_conf port_conf = {\n \t\t.mq_mode\t= ETH_MQ_RX_RSS,\n \t\t.max_rx_pkt_len = ETHER_MAX_LEN,\n \t\t.split_hdr_size = 0,\n-\t\t.ignore_offload_bitfield = 1,\n \t\t.offloads = (DEV_RX_OFFLOAD_CHECKSUM |\n \t\t\t     DEV_RX_OFFLOAD_CRC_STRIP),\n \t},\n@@ -351,7 +350,6 @@ main(int argc, char **argv)\n \t\trte_exit(EXIT_FAILURE, \"Port %d RX queue setup error (%d)\\n\", port_rx, ret);\n \n \ttxq_conf = dev_info.default_txconf;\n-\ttxq_conf.txq_flags = ETH_TXQ_FLAGS_IGNORE;\n \ttxq_conf.offloads = conf.txmode.offloads;\n \tret = rte_eth_tx_queue_setup(port_rx, NIC_TX_QUEUE, nb_txd,\n \t\t\t\trte_eth_dev_socket_id(port_rx),\n@@ -383,7 +381,6 @@ main(int argc, char **argv)\n \t\trte_exit(EXIT_FAILURE, \"Port %d RX queue setup error (%d)\\n\", port_tx, ret);\n \n \ttxq_conf = dev_info.default_txconf;\n-\ttxq_conf.txq_flags = ETH_TXQ_FLAGS_IGNORE;\n \ttxq_conf.offloads = conf.txmode.offloads;\n \tret = rte_eth_tx_queue_setup(port_tx, NIC_TX_QUEUE, nb_txd,\n \t\t\t\trte_eth_dev_socket_id(port_tx),\ndiff --git a/examples/qos_sched/init.c b/examples/qos_sched/init.c\nindex c9e487975..94cbb26f8 100644\n--- a/examples/qos_sched/init.c\n+++ b/examples/qos_sched/init.c\n@@ -59,7 +59,6 @@ static struct rte_eth_conf port_conf = {\n \t.rxmode = {\n \t\t.max_rx_pkt_len = ETHER_MAX_LEN,\n \t\t.split_hdr_size = 0,\n-\t\t.ignore_offload_bitfield = 1,\n \t\t.offloads = DEV_RX_OFFLOAD_CRC_STRIP,\n \t},\n \t.txmode = {\n@@ -96,7 +95,6 @@ app_init_port(uint16_t portid, struct rte_mempool *mp)\n \ttx_conf.tx_free_thresh = 0;\n \ttx_conf.tx_rs_thresh = 0;\n \ttx_conf.tx_deferred_start = 0;\n-\ttx_conf.txq_flags = ETH_TXQ_FLAGS_IGNORE;\n \n \t/* init port */\n \tRTE_LOG(INFO, APP, \"Initializing port %\"PRIu16\"... \", portid);\ndiff --git a/examples/quota_watermark/qw/init.c b/examples/quota_watermark/qw/init.c\nindex 00725bc95..19164385a 100644\n--- a/examples/quota_watermark/qw/init.c\n+++ b/examples/quota_watermark/qw/init.c\n@@ -24,7 +24,6 @@\n static struct rte_eth_conf port_conf = {\n \t\t.rxmode = {\n \t\t\t.split_hdr_size = 0,\n-\t\t\t.ignore_offload_bitfield = 1,\n \t\t\t.offloads = DEV_RX_OFFLOAD_CRC_STRIP,\n \t\t},\n \t\t.txmode = {\n@@ -82,7 +81,6 @@ void configure_eth_port(uint16_t port_id)\n \n \t/* Initialize the port's TX queue */\n \ttxq_conf = dev_info.default_txconf;\n-\ttxq_conf.txq_flags = ETH_TXQ_FLAGS_IGNORE;\n \ttxq_conf.offloads = local_port_conf.txmode.offloads;\n \tret = rte_eth_tx_queue_setup(port_id, 0, nb_txd,\n \t\t\trte_eth_dev_socket_id(port_id),\ndiff --git a/examples/rxtx_callbacks/main.c b/examples/rxtx_callbacks/main.c\nindex e63ea288f..2058be627 100644\n--- a/examples/rxtx_callbacks/main.c\n+++ b/examples/rxtx_callbacks/main.c\n@@ -20,7 +20,6 @@\n static const struct rte_eth_conf port_conf_default = {\n \t.rxmode = {\n \t\t.max_rx_pkt_len = ETHER_MAX_LEN,\n-\t\t.ignore_offload_bitfield = 1,\n \t},\n };\n \n@@ -104,7 +103,6 @@ port_init(uint16_t port, struct rte_mempool *mbuf_pool)\n \t}\n \n \ttxconf = dev_info.default_txconf;\n-\ttxconf.txq_flags = ETH_TXQ_FLAGS_IGNORE;\n \ttxconf.offloads = port_conf.txmode.offloads;\n \tfor (q = 0; q < tx_rings; q++) {\n \t\tretval = rte_eth_tx_queue_setup(port, q, nb_txd,\ndiff --git a/examples/server_node_efd/server/init.c b/examples/server_node_efd/server/init.c\nindex 7dfe2fa23..af5a18e28 100644\n--- a/examples/server_node_efd/server/init.c\n+++ b/examples/server_node_efd/server/init.c\n@@ -97,7 +97,6 @@ init_port(uint16_t port_num)\n \tstruct rte_eth_conf port_conf = {\n \t\t.rxmode = {\n \t\t\t.mq_mode = ETH_MQ_RX_RSS,\n-\t\t\t.ignore_offload_bitfield = 1,\n \t\t},\n \t};\n \tconst uint16_t rx_rings = 1, tx_rings = num_nodes;\n@@ -139,7 +138,6 @@ init_port(uint16_t port_num)\n \t}\n \n \ttxconf = dev_info.default_txconf;\n-\ttxconf.txq_flags = ETH_TXQ_FLAGS_IGNORE;\n \ttxconf.offloads = port_conf.txmode.offloads;\n \tfor (q = 0; q < tx_rings; q++) {\n \t\tretval = rte_eth_tx_queue_setup(port_num, q, tx_ring_size,\ndiff --git a/examples/skeleton/basicfwd.c b/examples/skeleton/basicfwd.c\nindex 03bc35856..4aba1dc38 100644\n--- a/examples/skeleton/basicfwd.c\n+++ b/examples/skeleton/basicfwd.c\n@@ -20,7 +20,6 @@\n static const struct rte_eth_conf port_conf_default = {\n \t.rxmode = {\n \t\t.max_rx_pkt_len = ETHER_MAX_LEN,\n-\t\t.ignore_offload_bitfield = 1,\n \t},\n };\n \n@@ -68,7 +67,6 @@ port_init(uint16_t port, struct rte_mempool *mbuf_pool)\n \t}\n \n \ttxconf = dev_info.default_txconf;\n-\ttxconf.txq_flags = ETH_TXQ_FLAGS_IGNORE;\n \ttxconf.offloads = port_conf.txmode.offloads;\n \t/* Allocate and set up 1 TX queue per Ethernet port. */\n \tfor (q = 0; q < tx_rings; q++) {\ndiff --git a/examples/tep_termination/vxlan_setup.c b/examples/tep_termination/vxlan_setup.c\nindex 299c29d27..b99ab97d3 100644\n--- a/examples/tep_termination/vxlan_setup.c\n+++ b/examples/tep_termination/vxlan_setup.c\n@@ -69,7 +69,6 @@ uint8_t tep_filter_type[] = {RTE_TUNNEL_FILTER_IMAC_TENID,\n static struct rte_eth_conf port_conf = {\n \t.rxmode = {\n \t\t.split_hdr_size = 0,\n-\t\t.ignore_offload_bitfield = 1,\n \t\t.offloads = DEV_RX_OFFLOAD_CRC_STRIP,\n \t},\n \t.txmode = {\n@@ -131,7 +130,6 @@ vxlan_port_init(uint16_t port, struct rte_mempool *mbuf_pool)\n \n \trxconf = &dev_info.default_rxconf;\n \ttxconf = &dev_info.default_txconf;\n-\ttxconf->txq_flags = ETH_TXQ_FLAGS_IGNORE;\n \n \tif (!rte_eth_dev_is_valid_port(port))\n \t\treturn -1;\ndiff --git a/examples/vhost/main.c b/examples/vhost/main.c\nindex 1659ef315..2175c1186 100644\n--- a/examples/vhost/main.c\n+++ b/examples/vhost/main.c\n@@ -116,7 +116,6 @@ static struct rte_eth_conf vmdq_conf_default = {\n \t.rxmode = {\n \t\t.mq_mode        = ETH_MQ_RX_VMDQ_ONLY,\n \t\t.split_hdr_size = 0,\n-\t\t.ignore_offload_bitfield = 1,\n \t\t/*\n \t\t * VLAN strip is necessary for 1G NIC such as I350,\n \t\t * this fixes bug of ipv4 forwarding in guest can't\n@@ -256,7 +255,6 @@ port_init(uint16_t port)\n \trxconf = &dev_info.default_rxconf;\n \ttxconf = &dev_info.default_txconf;\n \trxconf->rx_drop_en = 1;\n-\ttxconf->txq_flags = ETH_TXQ_FLAGS_IGNORE;\n \n \t/*configure the number of supported virtio devices based on VMDQ limits */\n \tnum_devices = dev_info.max_vmdq_pools;\ndiff --git a/examples/vm_power_manager/main.c b/examples/vm_power_manager/main.c\nindex c9805a461..8911f2659 100644\n--- a/examples/vm_power_manager/main.c\n+++ b/examples/vm_power_manager/main.c\n@@ -47,7 +47,6 @@ static volatile bool force_quit;\n static const struct rte_eth_conf port_conf_default = {\n \t.rxmode = {\n \t\t.max_rx_pkt_len = ETHER_MAX_LEN,\n-\t\t.ignore_offload_bitfield = 1,\n \t},\n };\n \n@@ -83,7 +82,6 @@ port_init(uint16_t port, struct rte_mempool *mbuf_pool)\n \t}\n \n \ttxq_conf = dev_info.default_txconf;\n-\ttxq_conf.txq_flags = ETH_TXQ_FLAGS_IGNORE;\n \ttxq_conf.offloads = port_conf.txmode.offloads;\n \t/* Allocate and set up 1 TX queue per Ethernet port. */\n \tfor (q = 0; q < tx_rings; q++) {\ndiff --git a/examples/vmdq/main.c b/examples/vmdq/main.c\nindex 52596dd5e..627a5da48 100644\n--- a/examples/vmdq/main.c\n+++ b/examples/vmdq/main.c\n@@ -65,7 +65,6 @@ static const struct rte_eth_conf vmdq_conf_default = {\n \t.rxmode = {\n \t\t.mq_mode        = ETH_MQ_RX_VMDQ_ONLY,\n \t\t.split_hdr_size = 0,\n-\t\t.ignore_offload_bitfield = 1,\n \t},\n \n \t.txmode = {\n@@ -237,7 +236,6 @@ port_init(uint16_t port, struct rte_mempool *mbuf_pool)\n \trxconf = &dev_info.default_rxconf;\n \trxconf->rx_drop_en = 1;\n \ttxconf = &dev_info.default_txconf;\n-\ttxconf->txq_flags = ETH_TXQ_FLAGS_IGNORE;\n \ttxconf->offloads = port_conf.txmode.offloads;\n \tfor (q = 0; q < rxRings; q++) {\n \t\tretval = rte_eth_rx_queue_setup(port, q, rxRingSize,\ndiff --git a/examples/vmdq_dcb/main.c b/examples/vmdq_dcb/main.c\nindex 2626a2f19..5a0463c58 100644\n--- a/examples/vmdq_dcb/main.c\n+++ b/examples/vmdq_dcb/main.c\n@@ -71,7 +71,6 @@ static const struct rte_eth_conf vmdq_dcb_conf_default = {\n \t.rxmode = {\n \t\t.mq_mode        = ETH_MQ_RX_VMDQ_DCB,\n \t\t.split_hdr_size = 0,\n-\t\t.ignore_offload_bitfield = 1,\n \t},\n \t.txmode = {\n \t\t.mq_mode = ETH_MQ_TX_VMDQ_DCB,\n@@ -290,7 +289,6 @@ port_init(uint16_t port, struct rte_mempool *mbuf_pool)\n \t}\n \n \ttxq_conf = dev_info.default_txconf;\n-\ttxq_conf.txq_flags = ETH_TXQ_FLAGS_IGNORE;\n \ttxq_conf.offloads = port_conf.txmode.offloads;\n \tfor (q = 0; q < num_queues; q++) {\n \t\tretval = rte_eth_tx_queue_setup(port, q, txRingSize,\ndiff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c\nindex 5aa7a1a7d..16b8258a7 100644\n--- a/lib/librte_ethdev/rte_ethdev.c\n+++ b/lib/librte_ethdev/rte_ethdev.c\n@@ -974,41 +974,6 @@ rte_eth_speed_bitflag(uint32_t speed, int duplex)\n \t}\n }\n \n-/**\n- * A conversion function from rxmode bitfield API.\n- */\n-static void\n-rte_eth_convert_rx_offload_bitfield(const struct rte_eth_rxmode *rxmode,\n-\t\t\t\t    uint64_t *rx_offloads)\n-{\n-\tuint64_t offloads = 0;\n-\n-\tif (rxmode->header_split == 1)\n-\t\toffloads |= DEV_RX_OFFLOAD_HEADER_SPLIT;\n-\tif (rxmode->hw_ip_checksum == 1)\n-\t\toffloads |= DEV_RX_OFFLOAD_CHECKSUM;\n-\tif (rxmode->hw_vlan_filter == 1)\n-\t\toffloads |= DEV_RX_OFFLOAD_VLAN_FILTER;\n-\tif (rxmode->hw_vlan_strip == 1)\n-\t\toffloads |= DEV_RX_OFFLOAD_VLAN_STRIP;\n-\tif (rxmode->hw_vlan_extend == 1)\n-\t\toffloads |= DEV_RX_OFFLOAD_VLAN_EXTEND;\n-\tif (rxmode->jumbo_frame == 1)\n-\t\toffloads |= DEV_RX_OFFLOAD_JUMBO_FRAME;\n-\tif (rxmode->hw_strip_crc == 1)\n-\t\toffloads |= DEV_RX_OFFLOAD_CRC_STRIP;\n-\tif (rxmode->enable_scatter == 1)\n-\t\toffloads |= DEV_RX_OFFLOAD_SCATTER;\n-\tif (rxmode->enable_lro == 1)\n-\t\toffloads |= DEV_RX_OFFLOAD_TCP_LRO;\n-\tif (rxmode->hw_timestamp == 1)\n-\t\toffloads |= DEV_RX_OFFLOAD_TIMESTAMP;\n-\tif (rxmode->security == 1)\n-\t\toffloads |= DEV_RX_OFFLOAD_SECURITY;\n-\n-\t*rx_offloads = offloads;\n-}\n-\n const char * __rte_experimental\n rte_eth_dev_rx_offload_name(uint64_t offload)\n {\n@@ -1095,14 +1060,6 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,\n \t\treturn -EBUSY;\n \t}\n \n-\t/*\n-\t * Convert between the offloads API to enable PMDs to support\n-\t * only one of them.\n-\t */\n-\tif (dev_conf->rxmode.ignore_offload_bitfield == 0)\n-\t\trte_eth_convert_rx_offload_bitfield(\n-\t\t\t\t&dev_conf->rxmode, &local_conf.rxmode.offloads);\n-\n \t/* Copy the dev_conf parameter into the dev structure */\n \tmemcpy(&dev->data->dev_conf, &local_conf, sizeof(dev->data->dev_conf));\n \n@@ -1547,14 +1504,6 @@ rte_eth_rx_queue_setup(uint16_t port_id, uint16_t rx_queue_id,\n \t\trx_conf = &dev_info.default_rxconf;\n \n \tlocal_conf = *rx_conf;\n-\tif (dev->data->dev_conf.rxmode.ignore_offload_bitfield == 0) {\n-\t\t/**\n-\t\t * Reflect port offloads to queue offloads in order for\n-\t\t * offloads to not be discarded.\n-\t\t */\n-\t\trte_eth_convert_rx_offload_bitfield(&dev->data->dev_conf.rxmode,\n-\t\t\t\t\t\t    &local_conf.offloads);\n-\t}\n \n \t/*\n \t * If an offloading has already been enabled in\n@@ -1596,55 +1545,6 @@ rte_eth_rx_queue_setup(uint16_t port_id, uint16_t rx_queue_id,\n \treturn eth_err(port_id, ret);\n }\n \n-/**\n- * Convert from tx offloads to txq_flags.\n- */\n-static void\n-rte_eth_convert_tx_offload(const uint64_t tx_offloads, uint32_t *txq_flags)\n-{\n-\tuint32_t flags = 0;\n-\n-\tif (!(tx_offloads & DEV_TX_OFFLOAD_MULTI_SEGS))\n-\t\tflags |= ETH_TXQ_FLAGS_NOMULTSEGS;\n-\tif (!(tx_offloads & DEV_TX_OFFLOAD_VLAN_INSERT))\n-\t\tflags |= ETH_TXQ_FLAGS_NOVLANOFFL;\n-\tif (!(tx_offloads & DEV_TX_OFFLOAD_SCTP_CKSUM))\n-\t\tflags |= ETH_TXQ_FLAGS_NOXSUMSCTP;\n-\tif (!(tx_offloads & DEV_TX_OFFLOAD_UDP_CKSUM))\n-\t\tflags |= ETH_TXQ_FLAGS_NOXSUMUDP;\n-\tif (!(tx_offloads & DEV_TX_OFFLOAD_TCP_CKSUM))\n-\t\tflags |= ETH_TXQ_FLAGS_NOXSUMTCP;\n-\tif (tx_offloads & DEV_TX_OFFLOAD_MBUF_FAST_FREE)\n-\t\tflags |= ETH_TXQ_FLAGS_NOREFCOUNT | ETH_TXQ_FLAGS_NOMULTMEMP;\n-\n-\t*txq_flags = flags;\n-}\n-\n-/**\n- * A conversion function from txq_flags API.\n- */\n-static void\n-rte_eth_convert_txq_flags(const uint32_t txq_flags, uint64_t *tx_offloads)\n-{\n-\tuint64_t offloads = 0;\n-\n-\tif (!(txq_flags & ETH_TXQ_FLAGS_NOMULTSEGS))\n-\t\toffloads |= DEV_TX_OFFLOAD_MULTI_SEGS;\n-\tif (!(txq_flags & ETH_TXQ_FLAGS_NOVLANOFFL))\n-\t\toffloads |= DEV_TX_OFFLOAD_VLAN_INSERT;\n-\tif (!(txq_flags & ETH_TXQ_FLAGS_NOXSUMSCTP))\n-\t\toffloads |= DEV_TX_OFFLOAD_SCTP_CKSUM;\n-\tif (!(txq_flags & ETH_TXQ_FLAGS_NOXSUMUDP))\n-\t\toffloads |= DEV_TX_OFFLOAD_UDP_CKSUM;\n-\tif (!(txq_flags & ETH_TXQ_FLAGS_NOXSUMTCP))\n-\t\toffloads |= DEV_TX_OFFLOAD_TCP_CKSUM;\n-\tif ((txq_flags & ETH_TXQ_FLAGS_NOREFCOUNT) &&\n-\t    (txq_flags & ETH_TXQ_FLAGS_NOMULTMEMP))\n-\t\toffloads |= DEV_TX_OFFLOAD_MBUF_FAST_FREE;\n-\n-\t*tx_offloads = offloads;\n-}\n-\n int\n rte_eth_tx_queue_setup(uint16_t port_id, uint16_t tx_queue_id,\n \t\t       uint16_t nb_tx_desc, unsigned int socket_id,\n@@ -1707,15 +1607,7 @@ rte_eth_tx_queue_setup(uint16_t port_id, uint16_t tx_queue_id,\n \tif (tx_conf == NULL)\n \t\ttx_conf = &dev_info.default_txconf;\n \n-\t/*\n-\t * Convert between the offloads API to enable PMDs to support\n-\t * only one of them.\n-\t */\n \tlocal_conf = *tx_conf;\n-\tif (!(tx_conf->txq_flags & ETH_TXQ_FLAGS_IGNORE)) {\n-\t\trte_eth_convert_txq_flags(tx_conf->txq_flags,\n-\t\t\t\t\t  &local_conf.offloads);\n-\t}\n \n \t/*\n \t * If an offloading has already been enabled in\n@@ -2493,7 +2385,6 @@ void\n rte_eth_dev_info_get(uint16_t port_id, struct rte_eth_dev_info *dev_info)\n {\n \tstruct rte_eth_dev *dev;\n-\tstruct rte_eth_txconf *txconf;\n \tconst struct rte_eth_desc_lim lim = {\n \t\t.nb_max = UINT16_MAX,\n \t\t.nb_min = 0,\n@@ -2515,9 +2406,6 @@ rte_eth_dev_info_get(uint16_t port_id, struct rte_eth_dev_info *dev_info)\n \tdev_info->nb_tx_queues = dev->data->nb_tx_queues;\n \n \tdev_info->dev_flags = &dev->data->dev_flags;\n-\ttxconf = &dev_info->default_txconf;\n-\t/* convert offload to txq_flags to support legacy app */\n-\trte_eth_convert_tx_offload(txconf->offloads, &txconf->txq_flags);\n }\n \n int\n@@ -3958,7 +3846,6 @@ rte_eth_tx_queue_info_get(uint16_t port_id, uint16_t queue_id,\n \tstruct rte_eth_txq_info *qinfo)\n {\n \tstruct rte_eth_dev *dev;\n-\tstruct rte_eth_txconf *txconf = &qinfo->conf;\n \n \tRTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);\n \n@@ -3975,8 +3862,6 @@ rte_eth_tx_queue_info_get(uint16_t port_id, uint16_t queue_id,\n \n \tmemset(qinfo, 0, sizeof(*qinfo));\n \tdev->dev_ops->txq_info_get(dev, queue_id, qinfo);\n-\t/* convert offload to txq_flags to support legacy app */\n-\trte_eth_convert_tx_offload(txconf->offloads, &txconf->txq_flags);\n \n \treturn 0;\n }\ndiff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h\nindex aa991da62..8d6b1f6e0 100644\n--- a/lib/librte_ethdev/rte_ethdev.h\n+++ b/lib/librte_ethdev/rte_ethdev.h\n@@ -326,7 +326,7 @@ enum rte_eth_tx_mq_mode {\n struct rte_eth_rxmode {\n \t/** The multi-queue packet distribution mode to be used, e.g. RSS. */\n \tenum rte_eth_rx_mq_mode mq_mode;\n-\tuint32_t max_rx_pkt_len;  /**< Only used if jumbo_frame enabled. */\n+\tuint32_t max_rx_pkt_len;  /**< Only used if JUMBO_FRAME enabled. */\n \tuint16_t split_hdr_size;  /**< hdr buf size (header_split enabled).*/\n \t/**\n \t * Per-port Rx offloads to be set using DEV_RX_OFFLOAD_* flags.\n@@ -334,33 +334,6 @@ struct rte_eth_rxmode {\n \t * structure are allowed to be set.\n \t */\n \tuint64_t offloads;\n-\t__extension__\n-\t/**\n-\t * Below bitfield API is obsolete. Application should\n-\t * enable per-port offloads using the offload field\n-\t * above.\n-\t */\n-\tuint16_t header_split : 1, /**< Header Split enable. */\n-\t\thw_ip_checksum   : 1, /**< IP/UDP/TCP checksum offload enable. */\n-\t\thw_vlan_filter   : 1, /**< VLAN filter enable. */\n-\t\thw_vlan_strip    : 1, /**< VLAN strip enable. */\n-\t\thw_vlan_extend   : 1, /**< Extended VLAN enable. */\n-\t\tjumbo_frame      : 1, /**< Jumbo Frame Receipt enable. */\n-\t\thw_strip_crc     : 1, /**< Enable CRC stripping by hardware. */\n-\t\tenable_scatter   : 1, /**< Enable scatter packets rx handler */\n-\t\tenable_lro       : 1, /**< Enable LRO */\n-\t\thw_timestamp     : 1, /**< Enable HW timestamp */\n-\t\tsecurity\t : 1, /**< Enable rte_security offloads */\n-\t\t/**\n-\t\t * When set the offload bitfield should be ignored.\n-\t\t * Instead per-port Rx offloads should be set on offloads\n-\t\t * field above.\n-\t\t * Per-queue offloads shuold be set on rte_eth_rxq_conf\n-\t\t * structure.\n-\t\t * This bit is temporary till rxmode bitfield offloads API will\n-\t\t * be deprecated.\n-\t\t */\n-\t\tignore_offload_bitfield : 1;\n };\n \n /**\n@@ -707,28 +680,6 @@ struct rte_eth_rxconf {\n \tuint64_t offloads;\n };\n \n-#define ETH_TXQ_FLAGS_NOMULTSEGS 0x0001 /**< nb_segs=1 for all mbufs */\n-#define ETH_TXQ_FLAGS_NOREFCOUNT 0x0002 /**< refcnt can be ignored */\n-#define ETH_TXQ_FLAGS_NOMULTMEMP 0x0004 /**< all bufs come from same mempool */\n-#define ETH_TXQ_FLAGS_NOVLANOFFL 0x0100 /**< disable VLAN offload */\n-#define ETH_TXQ_FLAGS_NOXSUMSCTP 0x0200 /**< disable SCTP checksum offload */\n-#define ETH_TXQ_FLAGS_NOXSUMUDP  0x0400 /**< disable UDP checksum offload */\n-#define ETH_TXQ_FLAGS_NOXSUMTCP  0x0800 /**< disable TCP checksum offload */\n-#define ETH_TXQ_FLAGS_NOOFFLOADS \\\n-\t\t(ETH_TXQ_FLAGS_NOVLANOFFL | ETH_TXQ_FLAGS_NOXSUMSCTP | \\\n-\t\t ETH_TXQ_FLAGS_NOXSUMUDP  | ETH_TXQ_FLAGS_NOXSUMTCP)\n-#define ETH_TXQ_FLAGS_NOXSUMS \\\n-\t\t(ETH_TXQ_FLAGS_NOXSUMSCTP | ETH_TXQ_FLAGS_NOXSUMUDP | \\\n-\t\t ETH_TXQ_FLAGS_NOXSUMTCP)\n-/**\n- * When set the txq_flags should be ignored,\n- * instead per-queue Tx offloads will be set on offloads field\n- * located on rte_eth_txq_conf struct.\n- * This flag is temporary till the rte_eth_txq_conf.txq_flags\n- * API will be deprecated.\n- */\n-#define ETH_TXQ_FLAGS_IGNORE\t0x8000\n-\n /**\n  * A structure used to configure a TX ring of an Ethernet port.\n  */\n@@ -738,7 +689,6 @@ struct rte_eth_txconf {\n \tuint16_t tx_free_thresh; /**< Start freeing TX buffers if there are\n \t\t\t\t      less free descriptors than this value. */\n \n-\tuint32_t txq_flags; /**< Set flags for the Tx queue */\n \tuint8_t tx_deferred_start; /**< Do not start queue with rte_eth_dev_start(). */\n \t/**\n \t * Per-queue Tx offloads to be set  using DEV_TX_OFFLOAD_* flags.\n@@ -1680,12 +1630,6 @@ int rte_eth_rx_queue_setup(uint16_t port_id, uint16_t rx_queue_id,\n  *     The *tx_rs_thresh* value should be less or equal then\n  *     *tx_free_thresh* value, and both of them should be less then\n  *     *nb_tx_desc* - 3.\n- *   - The *txq_flags* member contains flags to pass to the TX queue setup\n- *     function to configure the behavior of the TX queue. This should be set\n- *     to 0 if no special configuration is required.\n- *     This API is obsolete and will be deprecated. Applications\n- *     should set it to ETH_TXQ_FLAGS_IGNORE and use\n- *     the offloads field below.\n  *   - The *offloads* member contains Tx offloads to be enabled.\n  *     If an offloading set in tx_conf->offloads\n  *     hasn't been set in the input argument eth_conf->txmode.offloads\n@@ -4081,7 +4025,7 @@ static inline int rte_eth_tx_descriptor_status(uint16_t port_id,\n  *\n  * If the PMD is DEV_TX_OFFLOAD_MT_LOCKFREE capable, multiple threads can\n  * invoke this function concurrently on the same tx queue without SW lock.\n- * @see rte_eth_dev_info_get, struct rte_eth_txconf::txq_flags\n+ * @see rte_eth_dev_info_get, struct rte_eth_txconf::offloads\n  *\n  * @see rte_eth_tx_prepare to perform some prior checks or adjustments\n  * for offloads.\n",
    "prefixes": [
        "v2",
        "5/5"
    ]
}