From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-eopbgr20086.outbound.protection.outlook.com [40.107.2.86]) by dpdk.org (Postfix) with ESMTP id 068431BEBB for ; Tue, 3 Jul 2018 14:28:53 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=FrVt6udLK7ELly6kWeyQh00xb35a9NJ9rn0/FEVU2LU=; b=N/j+kraI98EO8IThbgYgXi2kll0NQsYj7qo1ichC1d+FfRoyx4TvgZUAL033IkfgVeBfiK048WuejkDtBkVZTPdZS1e8/jX2rQg38uxUEv5svdQi7aDfnw2PH6DMDxjzlfEU/OuCxtbCGEN+8I/zGbNwLrh3Cp5LttqbzsqqHAA= Received: from DB7PR05MB4426.eurprd05.prod.outlook.com (52.134.109.15) by DB7PR05MB4409.eurprd05.prod.outlook.com (52.134.109.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.906.25; Tue, 3 Jul 2018 12:28:51 +0000 Received: from DB7PR05MB4426.eurprd05.prod.outlook.com ([fe80::d9c6:913c:c361:f7b7]) by DB7PR05MB4426.eurprd05.prod.outlook.com ([fe80::d9c6:913c:c361:f7b7%5]) with mapi id 15.20.0906.026; Tue, 3 Jul 2018 12:28:51 +0000 From: Shahaf Shuler To: Thomas Monjalon , "ferruh.yigit@intel.com" , "arybchenko@solarflare.com" CC: "dev@dpdk.org" , "ravi1.kumar@amd.com" , "rasesh.mody@cavium.com" , "maxime.coquelin@redhat.com" Thread-Topic: [PATCH v2 5/5] ethdev: remove old offload API Thread-Index: AQHUEkuRy7f5LV2FzECOh5G9fNgnIqR9ba6g Date: Tue, 3 Jul 2018 12:28:50 +0000 Message-ID: References: <1571938.317irMz1sZ@xps> <20180702212750.16758-1-thomas@monjalon.net> <20180702212750.16758-6-thomas@monjalon.net> In-Reply-To: <20180702212750.16758-6-thomas@monjalon.net> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=shahafs@mellanox.com; x-originating-ip: [31.154.10.105] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; DB7PR05MB4409; 7:tUHNGxceDdUM13Azvp3UqNWQp3x7e7vG8VtxYQt+9YTahVm3Bitl1PuM1fQfyDZ1KVz0jKcjnPufi/Lcn8Pbx5IfeY4r1st1om6/NkYtIwPzr/R/ojCq3Zmc8FbzgtcSl29mw2KWlfkiUNnpqyW6fPfHdG+5JT+2jaYLowNpy/OAWH76pPWyUVbJ728CnHTzFVawuVw6ryh+zQWaDZQbsbUfyabdneFmghvo3/gr9tQtV0e7SABxy7bdPLeJ6L8y x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-correlation-id: 01f816bd-c35f-43f6-9148-08d5e0e0888c x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(5600053)(711020)(48565401081)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(2017052603328)(7153060)(7193020); SRVR:DB7PR05MB4409; x-ms-traffictypediagnostic: DB7PR05MB4409: x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(158342451672863)(278428928389397)(192374486261705)(189930954265078)(45079756050767)(228905959029699); x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(93006095)(93001095)(3002001)(3231254)(944501410)(52105095)(10201501046)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123558120)(20161123562045)(20161123564045)(6072148)(201708071742011)(7699016); SRVR:DB7PR05MB4409; BCL:0; PCL:0; RULEID:; SRVR:DB7PR05MB4409; x-forefront-prvs: 0722981D2A x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(39860400002)(396003)(346002)(136003)(366004)(376002)(189003)(199004)(99286004)(2906002)(74316002)(5250100002)(256004)(14444005)(5024004)(486006)(33656002)(106356001)(446003)(105586002)(229853002)(4326008)(2501003)(14454004)(66066001)(2900100001)(110136005)(54906003)(26005)(6506007)(76176011)(8936002)(7696005)(11346002)(102836004)(476003)(186003)(16200700003)(8676002)(6246003)(575784001)(81166006)(6306002)(9686003)(97736004)(2201001)(86362001)(316002)(6116002)(25786009)(966005)(7736002)(55016002)(5660300001)(68736007)(478600001)(53946003)(53936002)(6436002)(45080400002)(305945005)(81156014)(3846002)(579004)(559001)(569006); DIR:OUT; SFP:1101; SCL:1; SRVR:DB7PR05MB4409; H:DB7PR05MB4426.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: HM47sfl8kIYGxJK1JLQWRUjIIb2VIUOphjYQJEy9NWBtX04TJgurHh4UVN+TUHaCTWEn7/rAvxwm6IT9GN7n6D6lDF1GrgdGB5bmVP5bgy27DFw6fTbMbjfNV3nRiqHSfN+o+qDvrZRsSq/ARzHUI4Ryzg9MOgskGUmhcbzv4vSnowc9sOeTHSi/B0KevuHYET7p6nEJwVCj/Br+QxyShQD5dY6x/9bP07XUQVADvTRldffD/VCNX6JofAay2jENir/JYOCspl0/v1PkxoCSQG9eu5tsb+j6wvgrQlES3FGT9ibyGr1IOlLacwYnEgNJrq4yQXFiTsEZFcVF3ZFhJWJ1f7FPDmMgRzZImXFT1Oo= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 01f816bd-c35f-43f6-9148-08d5e0e0888c X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Jul 2018 12:28:50.9596 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR05MB4409 Subject: Re: [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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Jul 2018 12:28:54 -0000 Tuesday, July 3, 2018 12:28 AM, Thomas Monjalon: > Subject: [PATCH v2 5/5] ethdev: remove old offload API >=20 > From: Ferruh Yigit >=20 > In DPDK 17.11, the ethdev offloads API has changed: > commit cba7f53b717d ("ethdev: introduce Tx queue offloads API") > commit ce17eddefc20 ("ethdev: introduce Rx queue offloads API") > The new API is documented in the programmer's guide: > https://emea01.safelinks.protection.outlook.com/?url=3Dhttp%3A%2F > %2Fdoc.dpdk.org%2Fguides%2Fprog_guide%2Fpoll_mode_drv.html%23hard > ware- > offload&data=3D02%7C01%7Cshahafs%40mellanox.com%7C0c0f5c75aed84da0 > 5ccc08d5e062b33f%7Ca652971c7d2e4d9ba6a4d149256f461b%7C0%7C0%7C63 > 6661636877193949&sdata=3D9SQ%2FdCvdcCsAz1u1DLHCCG8qkGJ1PdxkmMZE > CEpowLg%3D&reserved=3D0 >=20 > For reminder, the main concepts in the new API were: > - All offloads are disabled by default > - Distinction between per port and per queue offloads. >=20 > The transition bits are now removed: > - Translation of the old API in ethdev > - rte_eth_conf.rxmode.ignore_offload_bitfield > - ETH_TXQ_FLAGS_IGNORE >=20 > The old API bits are now removed: > - Rx per-port rte_eth_conf.rxmode.[bit-fields] > - Tx per-queue rte_eth_txconf.txq_flags > - ETH_TXQ_FLAGS_NO* >=20 > Signed-off-by: Ferruh Yigit > Signed-off-by: Thomas Monjalon Reviewed by: Shahaf Shuler =20 Thanks for this big work.=20 > --- > app/test-eventdev/test_pipeline_common.c | 1 - > app/test-pmd/testpmd.c | 3 - > doc/guides/nics/features.rst | 1 - > doc/guides/prog_guide/poll_mode_drv.rst | 5 - > doc/guides/rel_notes/deprecation.rst | 9 -- > doc/guides/sample_app_ug/flow_filtering.rst | 2 - > drivers/net/axgbe/axgbe_ethdev.c | 2 - > drivers/net/axgbe/axgbe_rxtx.c | 4 +- > drivers/net/ixgbe/ixgbe_rxtx.c | 2 +- > drivers/net/nfp/nfp_net.c | 4 +- > drivers/net/qede/qede_ethdev.c | 4 +- > drivers/net/sfc/sfc_dp_tx.h | 2 - > drivers/net/sfc/sfc_ethdev.c | 5 +- > drivers/net/sfc/sfc_rx.c | 1 - > drivers/net/sfc/sfc_tx.c | 25 +--- > drivers/net/sfc/sfc_tx.h | 1 - > drivers/net/virtio/virtio_ethdev.c | 3 - > drivers/net/vmxnet3/vmxnet3_ethdev.c | 1 - > examples/bond/main.c | 3 - > examples/distributor/main.c | 2 - > examples/ethtool/ethtool-app/main.c | 2 - > examples/eventdev_pipeline/main.c | 2 - > examples/exception_path/main.c | 2 - > examples/flow_classify/flow_classify.c | 2 - > examples/flow_filtering/main.c | 1 - > examples/ip_fragmentation/main.c | 2 - > examples/ip_reassembly/main.c | 2 - > examples/ipsec-secgw/ipsec-secgw.c | 2 - > examples/ipv4_multicast/main.c | 2 - > examples/kni/main.c | 2 - > examples/l2fwd-crypto/main.c | 2 - > examples/l2fwd-jobstats/main.c | 2 - > examples/l2fwd-keepalive/main.c | 2 - > examples/l2fwd/main.c | 2 - > examples/l3fwd-acl/main.c | 2 - > examples/l3fwd-power/main.c | 2 - > examples/l3fwd-vf/main.c | 2 - > examples/l3fwd/main.c | 2 - > examples/link_status_interrupt/main.c | 2 - > examples/load_balancer/init.c | 2 - > examples/multi_process/l2fwd_fork/main.c | 2 - > examples/multi_process/symmetric_mp/main.c | 2 - > examples/netmap_compat/bridge/bridge.c | 1 - > examples/netmap_compat/lib/compat_netmap.c | 1 - > examples/packet_ordering/main.c | 7 +- > .../performance-thread/l3fwd-thread/main.c | 2 - > examples/ptpclient/ptpclient.c | 3 - > examples/qos_meter/main.c | 3 - > examples/qos_sched/init.c | 2 - > examples/quota_watermark/qw/init.c | 2 - > examples/rxtx_callbacks/main.c | 2 - > examples/server_node_efd/server/init.c | 2 - > examples/skeleton/basicfwd.c | 2 - > examples/tep_termination/vxlan_setup.c | 2 - > examples/vhost/main.c | 2 - > examples/vm_power_manager/main.c | 2 - > examples/vmdq/main.c | 2 - > examples/vmdq_dcb/main.c | 2 - > lib/librte_ethdev/rte_ethdev.c | 115 ------------------ > lib/librte_ethdev/rte_ethdev.h | 60 +-------- > 60 files changed, 13 insertions(+), 322 deletions(-) >=20 > diff --git a/app/test-eventdev/test_pipeline_common.c b/app/test- > eventdev/test_pipeline_common.c > index 719518ff3..3bc9d513d 100644 > --- a/app/test-eventdev/test_pipeline_common.c > +++ b/app/test-eventdev/test_pipeline_common.c > @@ -223,7 +223,6 @@ pipeline_ethdev_setup(struct evt_test *test, struct > evt_options *opt) > .mq_mode =3D ETH_MQ_RX_RSS, > .max_rx_pkt_len =3D ETHER_MAX_LEN, > .offloads =3D DEV_RX_OFFLOAD_CRC_STRIP, > - .ignore_offload_bitfield =3D 1, > }, > .rx_adv_conf =3D { > .rss_conf =3D { > diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c > index 63c2a5aca..dde7d43e3 100644 > --- a/app/test-pmd/testpmd.c > +++ b/app/test-pmd/testpmd.c > @@ -334,7 +334,6 @@ lcoreid_t latencystats_lcore_id =3D -1; > struct rte_eth_rxmode rx_mode =3D { > .max_rx_pkt_len =3D ETHER_MAX_LEN, /**< Default maximum frame > length. */ > .offloads =3D DEV_RX_OFFLOAD_CRC_STRIP, > - .ignore_offload_bitfield =3D 1, > }; >=20 > struct rte_eth_txmode tx_mode =3D { > @@ -1645,8 +1644,6 @@ start_port(portid_t pid) > port->need_reconfig_queues =3D 0; > /* setup tx queues */ > for (qi =3D 0; qi < nb_txq; qi++) { > - port->tx_conf[qi].txq_flags =3D > - ETH_TXQ_FLAGS_IGNORE; > if ((numa_support) && > (txring_numa[pi] !=3D > NUMA_NO_CONFIG)) > diag =3D rte_eth_tx_queue_setup(pi, > qi, > diff --git a/doc/guides/nics/features.rst b/doc/guides/nics/features.rst > index ee89d6bfa..902ac160d 100644 > --- a/doc/guides/nics/features.rst > +++ b/doc/guides/nics/features.rst > @@ -577,7 +577,6 @@ Supports L4 checksum offload. >=20 > * **[uses] rte_eth_rxconf,rte_eth_rxmode**: > ``offloads:DEV_RX_OFFLOAD_UDP_CKSUM,DEV_RX_OFFLOAD_TCP_CKSUM > ``. > * **[uses] rte_eth_txconf,rte_eth_txmode**: > ``offloads:DEV_TX_OFFLOAD_UDP_CKSUM,DEV_TX_OFFLOAD_TCP_CKSUM > ,DEV_TX_OFFLOAD_SCTP_CKSUM``. > -* **[uses] user config**: ``dev_conf.rxmode.hw_ip_checksum``. > * **[uses] mbuf**: ``mbuf.ol_flags:PKT_TX_IPV4`` | ``PKT_TX_IPV6``, > ``mbuf.ol_flags:PKT_TX_L4_NO_CKSUM`` | ``PKT_TX_TCP_CKSUM`` | > ``PKT_TX_SCTP_CKSUM`` | ``PKT_TX_UDP_CKSUM``. > diff --git a/doc/guides/prog_guide/poll_mode_drv.rst > b/doc/guides/prog_guide/poll_mode_drv.rst > index af82352a0..4b69f6cbe 100644 > --- a/doc/guides/prog_guide/poll_mode_drv.rst > +++ b/doc/guides/prog_guide/poll_mode_drv.rst > @@ -328,11 +328,6 @@ A newly added offloads in ``[rt]x_conf->offloads`` t= o > ``rte_eth_[rt]x_queue_setu > is the one which hasn't been enabled in ``rte_eth_dev_configure()`` and = is > requested to be enabled > in ``rte_eth_[rt]x_queue_setup()``. It must be per-queue type, otherwise > trigger an error log. >=20 > -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. > -In such cases it is not required to set other flags in ``txq_flags``. > -For an application to use the Rx offloads API it should set the > ``ignore_offload_bitfield`` bit in the ``rte_eth_rxmode`` struct. > -In such cases it is not required to set other bitfield offloads in the `= `rxmode`` > struct. > - > Poll Mode Driver API > -------------------- >=20 > diff --git a/doc/guides/rel_notes/deprecation.rst > b/doc/guides/rel_notes/deprecation.rst > index cd128ae23..8df41cb6a 100644 > --- a/doc/guides/rel_notes/deprecation.rst > +++ b/doc/guides/rel_notes/deprecation.rst > @@ -58,15 +58,6 @@ Deprecation Notices > experimental API ``rte_pktmbuf_attach_extbuf()`` is used. Removal of t= he > macro > is to fix this semantic inconsistency. >=20 > -* ethdev: a new Tx and Rx offload API was introduced on 17.11. > - In the new API, offloads are divided into per-port and per-queue offlo= ads. > - Offloads are disabled by default and enabled per application request. > - > - In later releases the old offloading API will be deprecated, which wil= l > include: > - - removal of ``ETH_TXQ_FLAGS_NO*`` flags. > - - removal of ``txq_flags`` field from ``rte_eth_txconf`` struct. > - - removal of the offloads bit-field from ``rte_eth_rxmode`` struct. > - > * ethdev: In v18.11 ``DEV_RX_OFFLOAD_CRC_STRIP`` offload flag will be > removed, default > behavior without any flag will be changed to CRC strip. > To keep CRC ``DEV_RX_OFFLOAD_KEEP_CRC`` flag is required. > diff --git a/doc/guides/sample_app_ug/flow_filtering.rst > b/doc/guides/sample_app_ug/flow_filtering.rst > index bbf8af0e6..bd0ae1e2f 100644 > --- a/doc/guides/sample_app_ug/flow_filtering.rst > +++ b/doc/guides/sample_app_ug/flow_filtering.rst > @@ -139,7 +139,6 @@ application is shown below: > struct rte_eth_conf port_conf =3D { > .rxmode =3D { > .split_hdr_size =3D 0, > - .ignore_offload_bitfield =3D 1, > .offloads =3D DEV_RX_OFFLOAD_CRC_STRIP, > }, > .txmode =3D { > @@ -216,7 +215,6 @@ The Ethernet port is configured with default settings > using the > struct rte_eth_conf port_conf =3D { > .rxmode =3D { > .split_hdr_size =3D 0, > - .ignore_offload_bitfield =3D 1, > .offloads =3D DEV_RX_OFFLOAD_CRC_STRIP, > }, > .txmode =3D { > diff --git a/drivers/net/axgbe/axgbe_ethdev.c > b/drivers/net/axgbe/axgbe_ethdev.c > index e3773f4a2..c9c56c48b 100644 > --- a/drivers/net/axgbe/axgbe_ethdev.c > +++ b/drivers/net/axgbe/axgbe_ethdev.c > @@ -387,8 +387,6 @@ axgbe_dev_info_get(struct rte_eth_dev *dev, struct > rte_eth_dev_info *dev_info) >=20 > dev_info->default_txconf =3D (struct rte_eth_txconf) { > .tx_free_thresh =3D AXGBE_TX_FREE_THRESH, > - .txq_flags =3D ETH_TXQ_FLAGS_NOMULTSEGS | > - ETH_TXQ_FLAGS_NOOFFLOADS, > }; > } >=20 > diff --git a/drivers/net/axgbe/axgbe_rxtx.c > b/drivers/net/axgbe/axgbe_rxtx.c > index eae830f2e..c5fd5f418 100644 > --- a/drivers/net/axgbe/axgbe_rxtx.c > +++ b/drivers/net/axgbe/axgbe_rxtx.c > @@ -371,10 +371,8 @@ int axgbe_dev_tx_queue_setup(struct rte_eth_dev > *dev, uint16_t queue_idx, > if (txq->nb_desc % txq->free_thresh !=3D 0) > txq->vector_disable =3D 1; >=20 > - if ((tx_conf->txq_flags & (uint32_t)ETH_TXQ_FLAGS_NOOFFLOADS) > !=3D > - ETH_TXQ_FLAGS_NOOFFLOADS) { > + if (tx_conf->offloads !=3D 0) > txq->vector_disable =3D 1; > - } >=20 > /* Allocate TX ring hardware descriptors */ > tsize =3D txq->nb_desc * sizeof(struct axgbe_tx_desc); > diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxt= x.c > index 9f2e5f114..354181664 100644 > --- a/drivers/net/ixgbe/ixgbe_rxtx.c > +++ b/drivers/net/ixgbe/ixgbe_rxtx.c > @@ -1420,7 +1420,7 @@ rx_desc_status_to_pkt_flags(uint32_t rx_status, > uint64_t vlan_flags) > /* > * Check if VLAN present only. > * Do not check whether L3/L4 rx checksum done by NIC or not, > - * That can be found from rte_eth_rxmode.hw_ip_checksum flag > + * That can be found from rte_eth_rxmode.offloads flag > */ > pkt_flags =3D (rx_status & IXGBE_RXD_STAT_VP) ? vlan_flags : 0; >=20 > diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c > index 5e3533901..30d3cd97b 100644 > --- a/drivers/net/nfp/nfp_net.c > +++ b/drivers/net/nfp/nfp_net.c > @@ -1439,9 +1439,9 @@ nfp_net_dev_mtu_set(struct rte_eth_dev *dev, > uint16_t mtu) >=20 > /* switch to jumbo mode if needed */ > if ((uint32_t)mtu > ETHER_MAX_LEN) > - dev->data->dev_conf.rxmode.jumbo_frame =3D 1; > + dev->data->dev_conf.rxmode.offloads |=3D > DEV_RX_OFFLOAD_JUMBO_FRAME; > else > - dev->data->dev_conf.rxmode.jumbo_frame =3D 0; > + dev->data->dev_conf.rxmode.offloads &=3D > ~DEV_RX_OFFLOAD_JUMBO_FRAME; >=20 > /* update max frame size */ > dev->data->dev_conf.rxmode.max_rx_pkt_len =3D (uint32_t)mtu; > diff --git a/drivers/net/qede/qede_ethdev.c > b/drivers/net/qede/qede_ethdev.c > index 32005e969..eb2a22992 100644 > --- a/drivers/net/qede/qede_ethdev.c > +++ b/drivers/net/qede/qede_ethdev.c > @@ -2537,9 +2537,9 @@ static int qede_set_mtu(struct rte_eth_dev *dev, > uint16_t mtu) > } > } > if (max_rx_pkt_len > ETHER_MAX_LEN) > - dev->data->dev_conf.rxmode.jumbo_frame =3D 1; > + dev->data->dev_conf.rxmode.offloads |=3D > DEV_RX_OFFLOAD_JUMBO_FRAME; > else > - dev->data->dev_conf.rxmode.jumbo_frame =3D 0; > + dev->data->dev_conf.rxmode.offloads &=3D > ~DEV_RX_OFFLOAD_JUMBO_FRAME; >=20 > if (!dev->data->dev_started && restart) { > qede_dev_start(dev); > diff --git a/drivers/net/sfc/sfc_dp_tx.h b/drivers/net/sfc/sfc_dp_tx.h > index a075612c7..eda9676c8 100644 > --- a/drivers/net/sfc/sfc_dp_tx.h > +++ b/drivers/net/sfc/sfc_dp_tx.h > @@ -39,8 +39,6 @@ struct sfc_dp_tx_qcreate_info { > unsigned int max_fill_level; > /** Minimum number of unused Tx descriptors to do reap */ > unsigned int free_thresh; > - /** Transmit queue configuration flags */ > - unsigned int flags; > /** Offloads enabled on the transmit queue */ > uint64_t offloads; > /** Tx queue size */ > diff --git a/drivers/net/sfc/sfc_ethdev.c b/drivers/net/sfc/sfc_ethdev.c > index 1b6499f85..531539e84 100644 > --- a/drivers/net/sfc/sfc_ethdev.c > +++ b/drivers/net/sfc/sfc_ethdev.c > @@ -874,14 +874,12 @@ sfc_dev_set_mtu(struct rte_eth_dev *dev, > uint16_t mtu) > } >=20 > /* > - * The driver does not use it, but other PMDs update jumbo_frame > + * The driver does not use it, but other PMDs update jumbo frame > * flag and max_rx_pkt_len when MTU is set. > */ > if (mtu > ETHER_MAX_LEN) { > struct rte_eth_rxmode *rxmode =3D &dev->data- > >dev_conf.rxmode; > - > rxmode->offloads |=3D DEV_RX_OFFLOAD_JUMBO_FRAME; > - rxmode->jumbo_frame =3D 1; > } >=20 > dev->data->dev_conf.rxmode.max_rx_pkt_len =3D sa->port.pdu; > @@ -1089,7 +1087,6 @@ sfc_tx_queue_info_get(struct rte_eth_dev *dev, > uint16_t tx_queue_id, >=20 > memset(qinfo, 0, sizeof(*qinfo)); >=20 > - qinfo->conf.txq_flags =3D txq_info->txq->flags; > qinfo->conf.offloads =3D txq_info->txq->offloads; > qinfo->conf.tx_free_thresh =3D txq_info->txq->free_thresh; > qinfo->conf.tx_deferred_start =3D txq_info->deferred_start; > diff --git a/drivers/net/sfc/sfc_rx.c b/drivers/net/sfc/sfc_rx.c > index 98858d9d9..158c8e94b 100644 > --- a/drivers/net/sfc/sfc_rx.c > +++ b/drivers/net/sfc/sfc_rx.c > @@ -1449,7 +1449,6 @@ sfc_rx_check_mode(struct sfc_adapter *sa, struct > rte_eth_rxmode *rxmode) > if (rte_eth_dev_must_keep_crc(rxmode->offloads)) { > sfc_warn(sa, "FCS stripping cannot be disabled - always on"); > rxmode->offloads |=3D DEV_RX_OFFLOAD_CRC_STRIP; > - rxmode->hw_strip_crc =3D 1; > } >=20 > return rc; > diff --git a/drivers/net/sfc/sfc_tx.c b/drivers/net/sfc/sfc_tx.c > index 1bcc2c697..6d42a1a65 100644 > --- a/drivers/net/sfc/sfc_tx.c > +++ b/drivers/net/sfc/sfc_tx.c > @@ -171,7 +171,6 @@ sfc_tx_qinit(struct sfc_adapter *sa, unsigned int > sw_index, > txq->free_thresh =3D > (tx_conf->tx_free_thresh) ? tx_conf->tx_free_thresh : > SFC_TX_DEFAULT_FREE_THRESH; > - txq->flags =3D tx_conf->txq_flags; > txq->offloads =3D offloads; >=20 > rc =3D sfc_dma_alloc(sa, "txq", sw_index, EFX_TXQ_SIZE(txq_info- > >entries), > @@ -182,7 +181,6 @@ sfc_tx_qinit(struct sfc_adapter *sa, unsigned int > sw_index, > memset(&info, 0, sizeof(info)); > info.max_fill_level =3D txq_max_fill_level; > info.free_thresh =3D txq->free_thresh; > - info.flags =3D tx_conf->txq_flags; > info.offloads =3D offloads; > info.txq_entries =3D txq_info->entries; > info.dma_desc_size_max =3D encp->enc_tx_dma_desc_size_max; > @@ -431,18 +429,10 @@ sfc_tx_qstart(struct sfc_adapter *sa, unsigned int > sw_index) > if (rc !=3D 0) > goto fail_ev_qstart; >=20 > - /* > - * The absence of ETH_TXQ_FLAGS_IGNORE is associated with a > legacy > - * application which expects that IPv4 checksum offload is enabled > - * all the time as there is no legacy flag to turn off the offload. > - */ > - if ((txq->offloads & DEV_TX_OFFLOAD_IPV4_CKSUM) || > - (~txq->flags & ETH_TXQ_FLAGS_IGNORE)) > + if (txq->offloads & DEV_TX_OFFLOAD_IPV4_CKSUM) > flags |=3D EFX_TXQ_CKSUM_IPV4; >=20 > - if ((txq->offloads & DEV_TX_OFFLOAD_OUTER_IPV4_CKSUM) || > - ((~txq->flags & ETH_TXQ_FLAGS_IGNORE) && > - (offloads_supported & > DEV_TX_OFFLOAD_OUTER_IPV4_CKSUM))) > + if (txq->offloads & DEV_TX_OFFLOAD_OUTER_IPV4_CKSUM) > flags |=3D EFX_TXQ_CKSUM_INNER_IPV4; >=20 > if ((txq->offloads & DEV_TX_OFFLOAD_TCP_CKSUM) || > @@ -453,16 +443,7 @@ sfc_tx_qstart(struct sfc_adapter *sa, unsigned int > sw_index) > flags |=3D EFX_TXQ_CKSUM_INNER_TCPUDP; > } >=20 > - /* > - * The absence of ETH_TXQ_FLAGS_IGNORE is associated with a > legacy > - * application. In turn, the absence of ETH_TXQ_FLAGS_NOXSUMTCP > is > - * associated specifically with a legacy application which expects > - * both TCP checksum offload and TSO to be enabled because the > legacy > - * API does not provide a dedicated mechanism to control TSO. > - */ > - if ((txq->offloads & DEV_TX_OFFLOAD_TCP_TSO) || > - ((~txq->flags & ETH_TXQ_FLAGS_IGNORE) && > - (~txq->flags & ETH_TXQ_FLAGS_NOXSUMTCP))) > + if (txq->offloads & DEV_TX_OFFLOAD_TCP_TSO) > flags |=3D EFX_TXQ_FATSOV2; >=20 > rc =3D efx_tx_qcreate(sa->nic, sw_index, 0, &txq->mem, > diff --git a/drivers/net/sfc/sfc_tx.h b/drivers/net/sfc/sfc_tx.h > index c2e5f13e9..146b805ca 100644 > --- a/drivers/net/sfc/sfc_tx.h > +++ b/drivers/net/sfc/sfc_tx.h > @@ -58,7 +58,6 @@ struct sfc_txq { > struct sfc_dp_txq *dp; > efx_txq_t *common; > unsigned int free_thresh; > - unsigned int flags; > uint64_t offloads; > }; >=20 > diff --git a/drivers/net/virtio/virtio_ethdev.c > b/drivers/net/virtio/virtio_ethdev.c > index 02980e3d1..119666611 100644 > --- a/drivers/net/virtio/virtio_ethdev.c > +++ b/drivers/net/virtio/virtio_ethdev.c > @@ -2143,9 +2143,6 @@ virtio_dev_info_get(struct rte_eth_dev *dev, > struct rte_eth_dev_info *dev_info) > dev_info->min_rx_bufsize =3D VIRTIO_MIN_RX_BUFSIZE; > dev_info->max_rx_pktlen =3D VIRTIO_MAX_RX_PKTLEN; > dev_info->max_mac_addrs =3D VIRTIO_MAX_MAC_ADDRS; > - dev_info->default_txconf =3D (struct rte_eth_txconf) { > - .txq_flags =3D ETH_TXQ_FLAGS_NOOFFLOADS > - }; >=20 > host_features =3D VTPCI_OPS(hw)->get_features(hw); > dev_info->rx_offload_capa =3D DEV_RX_OFFLOAD_VLAN_STRIP | > diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c > b/drivers/net/vmxnet3/vmxnet3_ethdev.c > index 95b465952..ace9d37c5 100644 > --- a/drivers/net/vmxnet3/vmxnet3_ethdev.c > +++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c > @@ -1054,7 +1054,6 @@ vmxnet3_dev_info_get(struct rte_eth_dev *dev > __rte_unused, > dev_info->speed_capa =3D ETH_LINK_SPEED_10G; > dev_info->max_mac_addrs =3D VMXNET3_MAX_MAC_ADDRS; >=20 > - dev_info->default_txconf.txq_flags =3D > ETH_TXQ_FLAGS_NOXSUMSCTP; > dev_info->flow_type_rss_offloads =3D VMXNET3_RSS_OFFLOAD_ALL; >=20 > dev_info->rx_desc_lim =3D (struct rte_eth_desc_lim) { > diff --git a/examples/bond/main.c b/examples/bond/main.c > index 65e0edd25..98415d66d 100644 > --- a/examples/bond/main.c > +++ b/examples/bond/main.c > @@ -122,7 +122,6 @@ static struct rte_eth_conf port_conf =3D { > .mq_mode =3D ETH_MQ_RX_NONE, > .max_rx_pkt_len =3D ETHER_MAX_LEN, > .split_hdr_size =3D 0, > - .ignore_offload_bitfield =3D 1, > .offloads =3D DEV_RX_OFFLOAD_CRC_STRIP, > }, > .rx_adv_conf =3D { > @@ -177,7 +176,6 @@ slave_port_init(uint16_t portid, struct rte_mempool > *mbuf_pool) >=20 > /* TX setup */ > txq_conf =3D dev_info.default_txconf; > - txq_conf.txq_flags =3D ETH_TXQ_FLAGS_IGNORE; > txq_conf.offloads =3D local_port_conf.txmode.offloads; > retval =3D rte_eth_tx_queue_setup(portid, 0, nb_txd, > rte_eth_dev_socket_id(portid), &txq_conf); > @@ -246,7 +244,6 @@ bond_port_init(struct rte_mempool *mbuf_pool) >=20 > /* TX setup */ > txq_conf =3D dev_info.default_txconf; > - txq_conf.txq_flags =3D ETH_TXQ_FLAGS_IGNORE; > txq_conf.offloads =3D local_port_conf.txmode.offloads; > retval =3D rte_eth_tx_queue_setup(BOND_PORT, 0, nb_txd, > rte_eth_dev_socket_id(BOND_PORT), > &txq_conf); > diff --git a/examples/distributor/main.c b/examples/distributor/main.c > index 2c5936489..85881a2e8 100644 > --- a/examples/distributor/main.c > +++ b/examples/distributor/main.c > @@ -80,7 +80,6 @@ static const struct rte_eth_conf port_conf_default =3D = { > .rxmode =3D { > .mq_mode =3D ETH_MQ_RX_RSS, > .max_rx_pkt_len =3D ETHER_MAX_LEN, > - .ignore_offload_bitfield =3D 1, > }, > .txmode =3D { > .mq_mode =3D ETH_MQ_TX_NONE, > @@ -141,7 +140,6 @@ port_init(uint16_t port, struct rte_mempool > *mbuf_pool) > } >=20 > txconf =3D dev_info.default_txconf; > - txconf.txq_flags =3D ETH_TXQ_FLAGS_IGNORE; > txconf.offloads =3D port_conf.txmode.offloads; > for (q =3D 0; q < txRings; q++) { > retval =3D rte_eth_tx_queue_setup(port, q, nb_txd, > diff --git a/examples/ethtool/ethtool-app/main.c > b/examples/ethtool/ethtool-app/main.c > index c1815bb94..dc93adfe3 100644 > --- a/examples/ethtool/ethtool-app/main.c > +++ b/examples/ethtool/ethtool-app/main.c > @@ -99,7 +99,6 @@ static void setup_ports(struct app_config *app_cfg, int > cnt_ports) >=20 > memset(&cfg_port, 0, sizeof(cfg_port)); > cfg_port.txmode.mq_mode =3D ETH_MQ_TX_NONE; > - cfg_port.rxmode.ignore_offload_bitfield =3D 1; >=20 > for (idx_port =3D 0; idx_port < cnt_ports; idx_port++) { > struct app_port *ptr_port =3D &app_cfg->ports[idx_port]; > @@ -142,7 +141,6 @@ static void setup_ports(struct app_config *app_cfg, > int cnt_ports) > "rte_eth_rx_queue_setup failed" > ); > txconf =3D dev_info.default_txconf; > - txconf.txq_flags =3D ETH_TXQ_FLAGS_IGNORE; > if (rte_eth_tx_queue_setup( > idx_port, 0, nb_txd, > rte_eth_dev_socket_id(idx_port), &txconf) < 0) > diff --git a/examples/eventdev_pipeline/main.c > b/examples/eventdev_pipeline/main.c > index b698e4ca2..7bc294946 100644 > --- a/examples/eventdev_pipeline/main.c > +++ b/examples/eventdev_pipeline/main.c > @@ -267,7 +267,6 @@ port_init(uint8_t port, struct rte_mempool > *mbuf_pool) > .rxmode =3D { > .mq_mode =3D ETH_MQ_RX_RSS, > .max_rx_pkt_len =3D ETHER_MAX_LEN, > - .ignore_offload_bitfield =3D 1, > }, > .rx_adv_conf =3D { > .rss_conf =3D { > @@ -307,7 +306,6 @@ port_init(uint8_t port, struct rte_mempool > *mbuf_pool) > } >=20 > txconf =3D dev_info.default_txconf; > - txconf.txq_flags =3D ETH_TXQ_FLAGS_IGNORE; > txconf.offloads =3D port_conf_default.txmode.offloads; > /* Allocate and set up 1 TX queue per Ethernet port. */ > for (q =3D 0; q < tx_rings; q++) { > diff --git a/examples/exception_path/main.c > b/examples/exception_path/main.c > index 2b381a5d8..0b59f6b3f 100644 > --- a/examples/exception_path/main.c > +++ b/examples/exception_path/main.c > @@ -88,7 +88,6 @@ > /* Options for configuring ethernet port */ > static struct rte_eth_conf port_conf =3D { > .rxmode =3D { > - .ignore_offload_bitfield =3D 1, > .offloads =3D DEV_RX_OFFLOAD_CRC_STRIP, > }, > .txmode =3D { > @@ -457,7 +456,6 @@ init_port(uint16_t port) > port, ret); >=20 > txq_conf =3D dev_info.default_txconf; > - txq_conf.txq_flags =3D ETH_TXQ_FLAGS_IGNORE; > txq_conf.offloads =3D local_port_conf.txmode.offloads; > ret =3D rte_eth_tx_queue_setup(port, 0, nb_txd, > rte_eth_dev_socket_id(port), > diff --git a/examples/flow_classify/flow_classify.c > b/examples/flow_classify/flow_classify.c > index 6412fe440..199612926 100644 > --- a/examples/flow_classify/flow_classify.c > +++ b/examples/flow_classify/flow_classify.c > @@ -62,7 +62,6 @@ const char cb_port_delim[] =3D ":"; > static const struct rte_eth_conf port_conf_default =3D { > .rxmode =3D { > .max_rx_pkt_len =3D ETHER_MAX_LEN, > - .ignore_offload_bitfield =3D 1, > }, > }; >=20 > @@ -222,7 +221,6 @@ port_init(uint8_t port, struct rte_mempool > *mbuf_pool) > } >=20 > txconf =3D dev_info.default_txconf; > - txconf.txq_flags =3D ETH_TXQ_FLAGS_IGNORE; > txconf.offloads =3D port_conf.txmode.offloads; > /* Allocate and set up 1 TX queue per Ethernet port. */ > for (q =3D 0; q < tx_rings; q++) { > diff --git a/examples/flow_filtering/main.c b/examples/flow_filtering/mai= n.c > index e0ee51679..f59503439 100644 > --- a/examples/flow_filtering/main.c > +++ b/examples/flow_filtering/main.c > @@ -121,7 +121,6 @@ init_port(void) > struct rte_eth_conf port_conf =3D { > .rxmode =3D { > .split_hdr_size =3D 0, > - .ignore_offload_bitfield =3D 1, > .offloads =3D DEV_RX_OFFLOAD_CRC_STRIP, > }, > .txmode =3D { > diff --git a/examples/ip_fragmentation/main.c > b/examples/ip_fragmentation/main.c > index 8952ea456..5306d7672 100644 > --- a/examples/ip_fragmentation/main.c > +++ b/examples/ip_fragmentation/main.c > @@ -140,7 +140,6 @@ static struct rte_eth_conf port_conf =3D { > .rxmode =3D { > .max_rx_pkt_len =3D JUMBO_FRAME_MAX_SIZE, > .split_hdr_size =3D 0, > - .ignore_offload_bitfield =3D 1, > .offloads =3D (DEV_RX_OFFLOAD_CHECKSUM | > DEV_RX_OFFLOAD_JUMBO_FRAME | > DEV_RX_OFFLOAD_CRC_STRIP), > @@ -973,7 +972,6 @@ main(int argc, char **argv) > fflush(stdout); >=20 > txconf =3D &dev_info.default_txconf; > - txconf->txq_flags =3D ETH_TXQ_FLAGS_IGNORE; > txconf->offloads =3D local_port_conf.txmode.offloads; > ret =3D rte_eth_tx_queue_setup(portid, queueid, > nb_txd, > socket, txconf); > diff --git a/examples/ip_reassembly/main.c > b/examples/ip_reassembly/main.c > index 3e8e79c21..94e63fc6a 100644 > --- a/examples/ip_reassembly/main.c > +++ b/examples/ip_reassembly/main.c > @@ -164,7 +164,6 @@ static struct rte_eth_conf port_conf =3D { > .mq_mode =3D ETH_MQ_RX_RSS, > .max_rx_pkt_len =3D JUMBO_FRAME_MAX_SIZE, > .split_hdr_size =3D 0, > - .ignore_offload_bitfield =3D 1, > .offloads =3D (DEV_RX_OFFLOAD_CHECKSUM | > DEV_RX_OFFLOAD_JUMBO_FRAME | > DEV_RX_OFFLOAD_CRC_STRIP), > @@ -1121,7 +1120,6 @@ main(int argc, char **argv) > fflush(stdout); >=20 > txconf =3D &dev_info.default_txconf; > - txconf->txq_flags =3D ETH_TXQ_FLAGS_IGNORE; > txconf->offloads =3D local_port_conf.txmode.offloads; >=20 > ret =3D rte_eth_tx_queue_setup(portid, queueid, > nb_txd, > diff --git a/examples/ipsec-secgw/ipsec-secgw.c b/examples/ipsec- > secgw/ipsec-secgw.c > index a5da8b280..199bae51b 100644 > --- a/examples/ipsec-secgw/ipsec-secgw.c > +++ b/examples/ipsec-secgw/ipsec-secgw.c > @@ -199,7 +199,6 @@ static struct rte_eth_conf port_conf =3D { > .split_hdr_size =3D 0, > .offloads =3D DEV_RX_OFFLOAD_CHECKSUM | > DEV_RX_OFFLOAD_CRC_STRIP, > - .ignore_offload_bitfield =3D 1, > }, > .rx_adv_conf =3D { > .rss_conf =3D { > @@ -1592,7 +1591,6 @@ port_init(uint16_t portid) > printf("Setup txq=3D%u,%d,%d\n", lcore_id, tx_queueid, > socket_id); >=20 > txconf =3D &dev_info.default_txconf; > - txconf->txq_flags =3D ETH_TXQ_FLAGS_IGNORE; > txconf->offloads =3D local_port_conf.txmode.offloads; >=20 > ret =3D rte_eth_tx_queue_setup(portid, tx_queueid, nb_txd, > diff --git a/examples/ipv4_multicast/main.c > b/examples/ipv4_multicast/main.c > index ad2072f41..331c32e71 100644 > --- a/examples/ipv4_multicast/main.c > +++ b/examples/ipv4_multicast/main.c > @@ -109,7 +109,6 @@ static struct rte_eth_conf port_conf =3D { > .rxmode =3D { > .max_rx_pkt_len =3D JUMBO_FRAME_MAX_SIZE, > .split_hdr_size =3D 0, > - .ignore_offload_bitfield =3D 1, > .offloads =3D (DEV_RX_OFFLOAD_JUMBO_FRAME | > DEV_RX_OFFLOAD_CRC_STRIP), > }, > @@ -764,7 +763,6 @@ main(int argc, char **argv) > fflush(stdout); >=20 > txconf =3D &dev_info.default_txconf; > - txconf->txq_flags =3D ETH_TXQ_FLAGS_IGNORE; > txconf->offloads =3D local_port_conf.txmode.offloads; > ret =3D rte_eth_tx_queue_setup(portid, queueid, > nb_txd, >=20 > rte_lcore_to_socket_id(lcore_id), txconf); > diff --git a/examples/kni/main.c b/examples/kni/main.c > index 4b162debb..81336087d 100644 > --- a/examples/kni/main.c > +++ b/examples/kni/main.c > @@ -95,7 +95,6 @@ static struct kni_port_params > *kni_port_params_array[RTE_MAX_ETHPORTS]; > /* Options for configuring ethernet port */ > static struct rte_eth_conf port_conf =3D { > .rxmode =3D { > - .ignore_offload_bitfield =3D 1, > .offloads =3D DEV_RX_OFFLOAD_CRC_STRIP, > }, > .txmode =3D { > @@ -607,7 +606,6 @@ init_port(uint16_t port) > "port%u (%d)\n", (unsigned)port, ret); >=20 > txq_conf =3D dev_info.default_txconf; > - txq_conf.txq_flags =3D ETH_TXQ_FLAGS_IGNORE; > txq_conf.offloads =3D local_port_conf.txmode.offloads; > ret =3D rte_eth_tx_queue_setup(port, 0, nb_txd, > rte_eth_dev_socket_id(port), &txq_conf); > diff --git a/examples/l2fwd-crypto/main.c b/examples/l2fwd-crypto/main.c > index 4bca87b19..1b5587968 100644 > --- a/examples/l2fwd-crypto/main.c > +++ b/examples/l2fwd-crypto/main.c > @@ -211,7 +211,6 @@ static struct rte_eth_conf port_conf =3D { > .mq_mode =3D ETH_MQ_RX_NONE, > .max_rx_pkt_len =3D ETHER_MAX_LEN, > .split_hdr_size =3D 0, > - .ignore_offload_bitfield =3D 1, > .offloads =3D DEV_RX_OFFLOAD_CRC_STRIP, > }, > .txmode =3D { > @@ -2371,7 +2370,6 @@ initialize_ports(struct l2fwd_crypto_options > *options) > /* init one TX queue on each port */ > fflush(stdout); > txq_conf =3D dev_info.default_txconf; > - txq_conf.txq_flags =3D ETH_TXQ_FLAGS_IGNORE; > txq_conf.offloads =3D local_port_conf.txmode.offloads; > retval =3D rte_eth_tx_queue_setup(portid, 0, nb_txd, > rte_eth_dev_socket_id(portid), > diff --git a/examples/l2fwd-jobstats/main.c b/examples/l2fwd- > jobstats/main.c > index 34553faa2..af5423382 100644 > --- a/examples/l2fwd-jobstats/main.c > +++ b/examples/l2fwd-jobstats/main.c > @@ -90,7 +90,6 @@ struct rte_eth_dev_tx_buffer > *tx_buffer[RTE_MAX_ETHPORTS]; > static struct rte_eth_conf port_conf =3D { > .rxmode =3D { > .split_hdr_size =3D 0, > - .ignore_offload_bitfield =3D 1, > .offloads =3D DEV_RX_OFFLOAD_CRC_STRIP, > }, > .txmode =3D { > @@ -876,7 +875,6 @@ main(int argc, char **argv) >=20 > /* init one TX queue on each port */ > txq_conf =3D dev_info.default_txconf; > - txq_conf.txq_flags =3D ETH_TXQ_FLAGS_IGNORE; > txq_conf.offloads =3D local_port_conf.txmode.offloads; > fflush(stdout); > ret =3D rte_eth_tx_queue_setup(portid, 0, nb_txd, > diff --git a/examples/l2fwd-keepalive/main.c b/examples/l2fwd- > keepalive/main.c > index a18b707cd..2d8b4d1c6 100644 > --- a/examples/l2fwd-keepalive/main.c > +++ b/examples/l2fwd-keepalive/main.c > @@ -81,7 +81,6 @@ struct rte_eth_dev_tx_buffer > *tx_buffer[RTE_MAX_ETHPORTS]; > static struct rte_eth_conf port_conf =3D { > .rxmode =3D { > .split_hdr_size =3D 0, > - .ignore_offload_bitfield =3D 1, > .offloads =3D DEV_RX_OFFLOAD_CRC_STRIP, > }, > .txmode =3D { > @@ -671,7 +670,6 @@ main(int argc, char **argv) > /* init one TX queue on each port */ > fflush(stdout); > txq_conf =3D dev_info.default_txconf; > - txq_conf.txq_flags =3D ETH_TXQ_FLAGS_IGNORE; > txq_conf.offloads =3D local_port_conf.txmode.offloads; > ret =3D rte_eth_tx_queue_setup(portid, 0, nb_txd, > rte_eth_dev_socket_id(portid), > diff --git a/examples/l2fwd/main.c b/examples/l2fwd/main.c > index 690843578..9bb4c5bc4 100644 > --- a/examples/l2fwd/main.c > +++ b/examples/l2fwd/main.c > @@ -82,7 +82,6 @@ static struct rte_eth_dev_tx_buffer > *tx_buffer[RTE_MAX_ETHPORTS]; > static struct rte_eth_conf port_conf =3D { > .rxmode =3D { > .split_hdr_size =3D 0, > - .ignore_offload_bitfield =3D 1, > .offloads =3D DEV_RX_OFFLOAD_CRC_STRIP, > }, > .txmode =3D { > @@ -670,7 +669,6 @@ main(int argc, char **argv) > /* init one TX queue on each port */ > fflush(stdout); > txq_conf =3D dev_info.default_txconf; > - txq_conf.txq_flags =3D ETH_TXQ_FLAGS_IGNORE; > txq_conf.offloads =3D local_port_conf.txmode.offloads; > ret =3D rte_eth_tx_queue_setup(portid, 0, nb_txd, > rte_eth_dev_socket_id(portid), > diff --git a/examples/l3fwd-acl/main.c b/examples/l3fwd-acl/main.c > index 33ad467d3..55a5a69e5 100644 > --- a/examples/l3fwd-acl/main.c > +++ b/examples/l3fwd-acl/main.c > @@ -127,7 +127,6 @@ static struct rte_eth_conf port_conf =3D { > .mq_mode =3D ETH_MQ_RX_RSS, > .max_rx_pkt_len =3D ETHER_MAX_LEN, > .split_hdr_size =3D 0, > - .ignore_offload_bitfield =3D 1, > .offloads =3D (DEV_RX_OFFLOAD_CRC_STRIP | > DEV_RX_OFFLOAD_CHECKSUM), > }, > @@ -1982,7 +1981,6 @@ main(int argc, char **argv) >=20 > rte_eth_dev_info_get(portid, &dev_info); > txconf =3D &dev_info.default_txconf; > - txconf->txq_flags =3D ETH_TXQ_FLAGS_IGNORE; > txconf->offloads =3D local_port_conf.txmode.offloads; > ret =3D rte_eth_tx_queue_setup(portid, queueid, > nb_txd, > socketid, txconf); > diff --git a/examples/l3fwd-power/main.c b/examples/l3fwd-power/main.c > index 596d64548..710b76d12 100644 > --- a/examples/l3fwd-power/main.c > +++ b/examples/l3fwd-power/main.c > @@ -184,7 +184,6 @@ static struct rte_eth_conf port_conf =3D { > .mq_mode =3D ETH_MQ_RX_RSS, > .max_rx_pkt_len =3D ETHER_MAX_LEN, > .split_hdr_size =3D 0, > - .ignore_offload_bitfield =3D 1, > .offloads =3D (DEV_RX_OFFLOAD_CRC_STRIP | > DEV_RX_OFFLOAD_CHECKSUM), > }, > @@ -1750,7 +1749,6 @@ main(int argc, char **argv) > fflush(stdout); >=20 > txconf =3D &dev_info.default_txconf; > - txconf->txq_flags =3D ETH_TXQ_FLAGS_IGNORE; > txconf->offloads =3D local_port_conf.txmode.offloads; > ret =3D rte_eth_tx_queue_setup(portid, queueid, > nb_txd, > socketid, txconf); > diff --git a/examples/l3fwd-vf/main.c b/examples/l3fwd-vf/main.c > index aaafb7bc2..43e629828 100644 > --- a/examples/l3fwd-vf/main.c > +++ b/examples/l3fwd-vf/main.c > @@ -161,7 +161,6 @@ static struct rte_eth_conf port_conf =3D { > .mq_mode =3D ETH_MQ_RX_RSS, > .max_rx_pkt_len =3D ETHER_MAX_LEN, > .split_hdr_size =3D 0, > - .ignore_offload_bitfield =3D 1, > .offloads =3D (DEV_RX_OFFLOAD_CRC_STRIP | > DEV_RX_OFFLOAD_CHECKSUM), > }, > @@ -1009,7 +1008,6 @@ main(int argc, char **argv) > fflush(stdout); >=20 > txconf =3D &dev_info.default_txconf; > - txconf->txq_flags =3D ETH_TXQ_FLAGS_IGNORE; > txconf->offloads =3D local_port_conf.txmode.offloads; > ret =3D rte_eth_tx_queue_setup(portid, 0, nb_txd, > socketid, txconf); > diff --git a/examples/l3fwd/main.c b/examples/l3fwd/main.c > index bf7dbd814..faef9f1ac 100644 > --- a/examples/l3fwd/main.c > +++ b/examples/l3fwd/main.c > @@ -120,7 +120,6 @@ static struct rte_eth_conf port_conf =3D { > .mq_mode =3D ETH_MQ_RX_RSS, > .max_rx_pkt_len =3D ETHER_MAX_LEN, > .split_hdr_size =3D 0, > - .ignore_offload_bitfield =3D 1, > .offloads =3D (DEV_RX_OFFLOAD_CRC_STRIP | > DEV_RX_OFFLOAD_CHECKSUM), > }, > @@ -909,7 +908,6 @@ main(int argc, char **argv) > fflush(stdout); >=20 > txconf =3D &dev_info.default_txconf; > - txconf->txq_flags =3D ETH_TXQ_FLAGS_IGNORE; > txconf->offloads =3D local_port_conf.txmode.offloads; > ret =3D rte_eth_tx_queue_setup(portid, queueid, > nb_txd, > socketid, txconf); > diff --git a/examples/link_status_interrupt/main.c > b/examples/link_status_interrupt/main.c > index f56895680..3b732076b 100644 > --- a/examples/link_status_interrupt/main.c > +++ b/examples/link_status_interrupt/main.c > @@ -79,7 +79,6 @@ struct rte_eth_dev_tx_buffer > *tx_buffer[RTE_MAX_ETHPORTS]; > static struct rte_eth_conf port_conf =3D { > .rxmode =3D { > .split_hdr_size =3D 0, > - .ignore_offload_bitfield =3D 1, > .offloads =3D DEV_RX_OFFLOAD_CRC_STRIP, > }, > .txmode =3D { > @@ -653,7 +652,6 @@ main(int argc, char **argv) > /* init one TX queue logical core on each port */ > fflush(stdout); > txq_conf =3D dev_info.default_txconf; > - txq_conf.txq_flags =3D ETH_TXQ_FLAGS_IGNORE; > txq_conf.offloads =3D local_port_conf.txmode.offloads; > ret =3D rte_eth_tx_queue_setup(portid, 0, nb_txd, > rte_eth_dev_socket_id(portid), > diff --git a/examples/load_balancer/init.c b/examples/load_balancer/init.= c > index 8d8dbe61e..6aa079c69 100644 > --- a/examples/load_balancer/init.c > +++ b/examples/load_balancer/init.c > @@ -45,7 +45,6 @@ static struct rte_eth_conf port_conf =3D { > .rxmode =3D { > .mq_mode =3D ETH_MQ_RX_RSS, > .split_hdr_size =3D 0, > - .ignore_offload_bitfield =3D 1, > .offloads =3D (DEV_RX_OFFLOAD_CHECKSUM | > DEV_RX_OFFLOAD_CRC_STRIP), > }, > @@ -466,7 +465,6 @@ app_init_nics(void) > } >=20 > txq_conf =3D dev_info.default_txconf; > - txq_conf.txq_flags =3D ETH_TXQ_FLAGS_IGNORE; > txq_conf.offloads =3D local_port_conf.txmode.offloads; > /* Init TX queues */ > if (app.nic_tx_port_mask[port] =3D=3D 1) { > diff --git a/examples/multi_process/l2fwd_fork/main.c > b/examples/multi_process/l2fwd_fork/main.c > index 94318ab61..20a6a3d87 100644 > --- a/examples/multi_process/l2fwd_fork/main.c > +++ b/examples/multi_process/l2fwd_fork/main.c > @@ -127,7 +127,6 @@ struct cpu_aff_arg{ > static const struct rte_eth_conf port_conf =3D { > .rxmode =3D { > .split_hdr_size =3D 0, > - .ignore_offload_bitfield =3D 1, > .offloads =3D DEV_RX_OFFLOAD_CRC_STRIP, > }, > .txmode =3D { > @@ -1073,7 +1072,6 @@ main(int argc, char **argv) > /* init one TX queue on each port */ > fflush(stdout); > txq_conf =3D dev_info.default_txconf; > - txq_conf.txq_flags =3D ETH_TXQ_FLAGS_IGNORE; > txq_conf.tx_offloads =3D local_port_conf.txmode.offloads; > ret =3D rte_eth_tx_queue_setup(portid, 0, nb_txd, > rte_eth_dev_socket_id(portid), > diff --git a/examples/multi_process/symmetric_mp/main.c > b/examples/multi_process/symmetric_mp/main.c > index 16f21a187..c36326917 100644 > --- a/examples/multi_process/symmetric_mp/main.c > +++ b/examples/multi_process/symmetric_mp/main.c > @@ -178,7 +178,6 @@ smp_port_init(uint16_t port, struct rte_mempool > *mbuf_pool, > .rxmode =3D { > .mq_mode =3D ETH_MQ_RX_RSS, > .split_hdr_size =3D 0, > - .ignore_offload_bitfield =3D 1, > .offloads =3D (DEV_RX_OFFLOAD_CHECKSUM | > DEV_RX_OFFLOAD_CRC_STRIP), > }, > @@ -236,7 +235,6 @@ smp_port_init(uint16_t port, struct rte_mempool > *mbuf_pool, > } >=20 > txq_conf =3D info.default_txconf; > - txq_conf.txq_flags =3D ETH_TXQ_FLAGS_IGNORE; > txq_conf.offloads =3D port_conf.txmode.offloads; > for (q =3D 0; q < tx_rings; q ++) { > retval =3D rte_eth_tx_queue_setup(port, q, nb_txd, > diff --git a/examples/netmap_compat/bridge/bridge.c > b/examples/netmap_compat/bridge/bridge.c > index cb1882e65..7afca28cd 100644 > --- a/examples/netmap_compat/bridge/bridge.c > +++ b/examples/netmap_compat/bridge/bridge.c > @@ -26,7 +26,6 @@ > struct rte_eth_conf eth_conf =3D { > .rxmode =3D { > .split_hdr_size =3D 0, > - .ignore_offload_bitfield =3D 1, > .offloads =3D DEV_RX_OFFLOAD_CRC_STRIP, > }, > .txmode =3D { > diff --git a/examples/netmap_compat/lib/compat_netmap.c > b/examples/netmap_compat/lib/compat_netmap.c > index af3dd223f..0be0663ed 100644 > --- a/examples/netmap_compat/lib/compat_netmap.c > +++ b/examples/netmap_compat/lib/compat_netmap.c > @@ -708,7 +708,6 @@ rte_netmap_init_port(uint16_t portid, const struct > rte_netmap_port_conf *conf) > rxq_conf =3D dev_info.default_rxconf; > rxq_conf.offloads =3D conf->eth_conf->rxmode.offloads; > txq_conf =3D dev_info.default_txconf; > - txq_conf.txq_flags =3D ETH_TXQ_FLAGS_IGNORE; > txq_conf.offloads =3D conf->eth_conf->txmode.offloads; > for (i =3D 0; i < conf->nr_tx_rings; i++) { > ret =3D rte_eth_tx_queue_setup(portid, i, tx_slots, > diff --git a/examples/packet_ordering/main.c > b/examples/packet_ordering/main.c > index 7ace7d10e..149bfdd02 100644 > --- a/examples/packet_ordering/main.c > +++ b/examples/packet_ordering/main.c > @@ -35,11 +35,7 @@ volatile uint8_t quit_signal; >=20 > static struct rte_mempool *mbuf_pool; >=20 > -static struct rte_eth_conf port_conf_default =3D { > - .rxmode =3D { > - .ignore_offload_bitfield =3D 1, > - }, > -}; > +static struct rte_eth_conf port_conf_default; >=20 > struct worker_thread_args { > struct rte_ring *ring_in; > @@ -293,7 +289,6 @@ configure_eth_port(uint16_t port_id) > } >=20 > txconf =3D dev_info.default_txconf; > - txconf.txq_flags =3D ETH_TXQ_FLAGS_IGNORE; > txconf.offloads =3D port_conf.txmode.offloads; > for (q =3D 0; q < txRings; q++) { > ret =3D rte_eth_tx_queue_setup(port_id, q, nb_txd, > diff --git a/examples/performance-thread/l3fwd-thread/main.c > b/examples/performance-thread/l3fwd-thread/main.c > index 40d807239..d1e4a1880 100644 > --- a/examples/performance-thread/l3fwd-thread/main.c > +++ b/examples/performance-thread/l3fwd-thread/main.c > @@ -306,7 +306,6 @@ static struct rte_eth_conf port_conf =3D { > .mq_mode =3D ETH_MQ_RX_RSS, > .max_rx_pkt_len =3D ETHER_MAX_LEN, > .split_hdr_size =3D 0, > - .ignore_offload_bitfield =3D 1, > .offloads =3D (DEV_RX_OFFLOAD_CHECKSUM | > DEV_RX_OFFLOAD_CRC_STRIP), > }, > @@ -3597,7 +3596,6 @@ main(int argc, char **argv) > fflush(stdout); >=20 > txconf =3D &dev_info.default_txconf; > - txconf->txq_flags =3D ETH_TXQ_FLAGS_IGNORE; > txconf->offloads =3D local_port_conf.txmode.offloads; > ret =3D rte_eth_tx_queue_setup(portid, queueid, > nb_txd, > socketid, txconf); > diff --git a/examples/ptpclient/ptpclient.c b/examples/ptpclient/ptpclien= t.c > index c44013bc1..82ae71c19 100644 > --- a/examples/ptpclient/ptpclient.c > +++ b/examples/ptpclient/ptpclient.c > @@ -50,7 +50,6 @@ static uint8_t > ptp_enabled_ports[RTE_MAX_ETHPORTS]; > static const struct rte_eth_conf port_conf_default =3D { > .rxmode =3D { > .max_rx_pkt_len =3D ETHER_MAX_LEN, > - .ignore_offload_bitfield =3D 1, > }, > }; >=20 > @@ -217,11 +216,9 @@ port_init(uint16_t port, struct rte_mempool > *mbuf_pool) >=20 > /* Allocate and set up 1 TX queue per Ethernet port. */ > for (q =3D 0; q < tx_rings; q++) { > - /* Setup txq_flags */ > struct rte_eth_txconf *txconf; >=20 > txconf =3D &dev_info.default_txconf; > - txconf->txq_flags =3D ETH_TXQ_FLAGS_IGNORE; > txconf->offloads =3D port_conf.txmode.offloads; >=20 > retval =3D rte_eth_tx_queue_setup(port, q, nb_txd, > diff --git a/examples/qos_meter/main.c b/examples/qos_meter/main.c > index 42cf4b29f..ca0e9e863 100644 > --- a/examples/qos_meter/main.c > +++ b/examples/qos_meter/main.c > @@ -56,7 +56,6 @@ static struct rte_eth_conf port_conf =3D { > .mq_mode =3D ETH_MQ_RX_RSS, > .max_rx_pkt_len =3D ETHER_MAX_LEN, > .split_hdr_size =3D 0, > - .ignore_offload_bitfield =3D 1, > .offloads =3D (DEV_RX_OFFLOAD_CHECKSUM | > DEV_RX_OFFLOAD_CRC_STRIP), > }, > @@ -351,7 +350,6 @@ main(int argc, char **argv) > rte_exit(EXIT_FAILURE, "Port %d RX queue setup error > (%d)\n", port_rx, ret); >=20 > txq_conf =3D dev_info.default_txconf; > - txq_conf.txq_flags =3D ETH_TXQ_FLAGS_IGNORE; > txq_conf.offloads =3D conf.txmode.offloads; > ret =3D rte_eth_tx_queue_setup(port_rx, NIC_TX_QUEUE, nb_txd, > rte_eth_dev_socket_id(port_rx), > @@ -383,7 +381,6 @@ main(int argc, char **argv) > rte_exit(EXIT_FAILURE, "Port %d RX queue setup error > (%d)\n", port_tx, ret); >=20 > txq_conf =3D dev_info.default_txconf; > - txq_conf.txq_flags =3D ETH_TXQ_FLAGS_IGNORE; > txq_conf.offloads =3D conf.txmode.offloads; > ret =3D rte_eth_tx_queue_setup(port_tx, NIC_TX_QUEUE, nb_txd, > rte_eth_dev_socket_id(port_tx), > diff --git a/examples/qos_sched/init.c b/examples/qos_sched/init.c > index c9e487975..94cbb26f8 100644 > --- a/examples/qos_sched/init.c > +++ b/examples/qos_sched/init.c > @@ -59,7 +59,6 @@ static struct rte_eth_conf port_conf =3D { > .rxmode =3D { > .max_rx_pkt_len =3D ETHER_MAX_LEN, > .split_hdr_size =3D 0, > - .ignore_offload_bitfield =3D 1, > .offloads =3D DEV_RX_OFFLOAD_CRC_STRIP, > }, > .txmode =3D { > @@ -96,7 +95,6 @@ app_init_port(uint16_t portid, struct rte_mempool > *mp) > tx_conf.tx_free_thresh =3D 0; > tx_conf.tx_rs_thresh =3D 0; > tx_conf.tx_deferred_start =3D 0; > - tx_conf.txq_flags =3D ETH_TXQ_FLAGS_IGNORE; >=20 > /* init port */ > RTE_LOG(INFO, APP, "Initializing port %"PRIu16"... ", portid); > diff --git a/examples/quota_watermark/qw/init.c > b/examples/quota_watermark/qw/init.c > index 00725bc95..19164385a 100644 > --- a/examples/quota_watermark/qw/init.c > +++ b/examples/quota_watermark/qw/init.c > @@ -24,7 +24,6 @@ > static struct rte_eth_conf port_conf =3D { > .rxmode =3D { > .split_hdr_size =3D 0, > - .ignore_offload_bitfield =3D 1, > .offloads =3D DEV_RX_OFFLOAD_CRC_STRIP, > }, > .txmode =3D { > @@ -82,7 +81,6 @@ void configure_eth_port(uint16_t port_id) >=20 > /* Initialize the port's TX queue */ > txq_conf =3D dev_info.default_txconf; > - txq_conf.txq_flags =3D ETH_TXQ_FLAGS_IGNORE; > txq_conf.offloads =3D local_port_conf.txmode.offloads; > ret =3D rte_eth_tx_queue_setup(port_id, 0, nb_txd, > rte_eth_dev_socket_id(port_id), > diff --git a/examples/rxtx_callbacks/main.c > b/examples/rxtx_callbacks/main.c > index e63ea288f..2058be627 100644 > --- a/examples/rxtx_callbacks/main.c > +++ b/examples/rxtx_callbacks/main.c > @@ -20,7 +20,6 @@ > static const struct rte_eth_conf port_conf_default =3D { > .rxmode =3D { > .max_rx_pkt_len =3D ETHER_MAX_LEN, > - .ignore_offload_bitfield =3D 1, > }, > }; >=20 > @@ -104,7 +103,6 @@ port_init(uint16_t port, struct rte_mempool > *mbuf_pool) > } >=20 > txconf =3D dev_info.default_txconf; > - txconf.txq_flags =3D ETH_TXQ_FLAGS_IGNORE; > txconf.offloads =3D port_conf.txmode.offloads; > for (q =3D 0; q < tx_rings; q++) { > retval =3D rte_eth_tx_queue_setup(port, q, nb_txd, > diff --git a/examples/server_node_efd/server/init.c > b/examples/server_node_efd/server/init.c > index 7dfe2fa23..af5a18e28 100644 > --- a/examples/server_node_efd/server/init.c > +++ b/examples/server_node_efd/server/init.c > @@ -97,7 +97,6 @@ init_port(uint16_t port_num) > struct rte_eth_conf port_conf =3D { > .rxmode =3D { > .mq_mode =3D ETH_MQ_RX_RSS, > - .ignore_offload_bitfield =3D 1, > }, > }; > const uint16_t rx_rings =3D 1, tx_rings =3D num_nodes; > @@ -139,7 +138,6 @@ init_port(uint16_t port_num) > } >=20 > txconf =3D dev_info.default_txconf; > - txconf.txq_flags =3D ETH_TXQ_FLAGS_IGNORE; > txconf.offloads =3D port_conf.txmode.offloads; > for (q =3D 0; q < tx_rings; q++) { > retval =3D rte_eth_tx_queue_setup(port_num, q, tx_ring_size, > diff --git a/examples/skeleton/basicfwd.c b/examples/skeleton/basicfwd.c > index 03bc35856..4aba1dc38 100644 > --- a/examples/skeleton/basicfwd.c > +++ b/examples/skeleton/basicfwd.c > @@ -20,7 +20,6 @@ > static const struct rte_eth_conf port_conf_default =3D { > .rxmode =3D { > .max_rx_pkt_len =3D ETHER_MAX_LEN, > - .ignore_offload_bitfield =3D 1, > }, > }; >=20 > @@ -68,7 +67,6 @@ port_init(uint16_t port, struct rte_mempool > *mbuf_pool) > } >=20 > txconf =3D dev_info.default_txconf; > - txconf.txq_flags =3D ETH_TXQ_FLAGS_IGNORE; > txconf.offloads =3D port_conf.txmode.offloads; > /* Allocate and set up 1 TX queue per Ethernet port. */ > for (q =3D 0; q < tx_rings; q++) { > diff --git a/examples/tep_termination/vxlan_setup.c > b/examples/tep_termination/vxlan_setup.c > index 299c29d27..b99ab97d3 100644 > --- a/examples/tep_termination/vxlan_setup.c > +++ b/examples/tep_termination/vxlan_setup.c > @@ -69,7 +69,6 @@ uint8_t tep_filter_type[] =3D > {RTE_TUNNEL_FILTER_IMAC_TENID, > static struct rte_eth_conf port_conf =3D { > .rxmode =3D { > .split_hdr_size =3D 0, > - .ignore_offload_bitfield =3D 1, > .offloads =3D DEV_RX_OFFLOAD_CRC_STRIP, > }, > .txmode =3D { > @@ -131,7 +130,6 @@ vxlan_port_init(uint16_t port, struct rte_mempool > *mbuf_pool) >=20 > rxconf =3D &dev_info.default_rxconf; > txconf =3D &dev_info.default_txconf; > - txconf->txq_flags =3D ETH_TXQ_FLAGS_IGNORE; >=20 > if (!rte_eth_dev_is_valid_port(port)) > return -1; > diff --git a/examples/vhost/main.c b/examples/vhost/main.c > index 1659ef315..2175c1186 100644 > --- a/examples/vhost/main.c > +++ b/examples/vhost/main.c > @@ -116,7 +116,6 @@ static struct rte_eth_conf vmdq_conf_default =3D { > .rxmode =3D { > .mq_mode =3D ETH_MQ_RX_VMDQ_ONLY, > .split_hdr_size =3D 0, > - .ignore_offload_bitfield =3D 1, > /* > * VLAN strip is necessary for 1G NIC such as I350, > * this fixes bug of ipv4 forwarding in guest can't > @@ -256,7 +255,6 @@ port_init(uint16_t port) > rxconf =3D &dev_info.default_rxconf; > txconf =3D &dev_info.default_txconf; > rxconf->rx_drop_en =3D 1; > - txconf->txq_flags =3D ETH_TXQ_FLAGS_IGNORE; >=20 > /*configure the number of supported virtio devices based on VMDQ > limits */ > num_devices =3D dev_info.max_vmdq_pools; > diff --git a/examples/vm_power_manager/main.c > b/examples/vm_power_manager/main.c > index c9805a461..8911f2659 100644 > --- a/examples/vm_power_manager/main.c > +++ b/examples/vm_power_manager/main.c > @@ -47,7 +47,6 @@ static volatile bool force_quit; > static const struct rte_eth_conf port_conf_default =3D { > .rxmode =3D { > .max_rx_pkt_len =3D ETHER_MAX_LEN, > - .ignore_offload_bitfield =3D 1, > }, > }; >=20 > @@ -83,7 +82,6 @@ port_init(uint16_t port, struct rte_mempool > *mbuf_pool) > } >=20 > txq_conf =3D dev_info.default_txconf; > - txq_conf.txq_flags =3D ETH_TXQ_FLAGS_IGNORE; > txq_conf.offloads =3D port_conf.txmode.offloads; > /* Allocate and set up 1 TX queue per Ethernet port. */ > for (q =3D 0; q < tx_rings; q++) { > diff --git a/examples/vmdq/main.c b/examples/vmdq/main.c > index 52596dd5e..627a5da48 100644 > --- a/examples/vmdq/main.c > +++ b/examples/vmdq/main.c > @@ -65,7 +65,6 @@ static const struct rte_eth_conf vmdq_conf_default =3D = { > .rxmode =3D { > .mq_mode =3D ETH_MQ_RX_VMDQ_ONLY, > .split_hdr_size =3D 0, > - .ignore_offload_bitfield =3D 1, > }, >=20 > .txmode =3D { > @@ -237,7 +236,6 @@ port_init(uint16_t port, struct rte_mempool > *mbuf_pool) > rxconf =3D &dev_info.default_rxconf; > rxconf->rx_drop_en =3D 1; > txconf =3D &dev_info.default_txconf; > - txconf->txq_flags =3D ETH_TXQ_FLAGS_IGNORE; > txconf->offloads =3D port_conf.txmode.offloads; > for (q =3D 0; q < rxRings; q++) { > retval =3D rte_eth_rx_queue_setup(port, q, rxRingSize, > diff --git a/examples/vmdq_dcb/main.c b/examples/vmdq_dcb/main.c > index 2626a2f19..5a0463c58 100644 > --- a/examples/vmdq_dcb/main.c > +++ b/examples/vmdq_dcb/main.c > @@ -71,7 +71,6 @@ static const struct rte_eth_conf > vmdq_dcb_conf_default =3D { > .rxmode =3D { > .mq_mode =3D ETH_MQ_RX_VMDQ_DCB, > .split_hdr_size =3D 0, > - .ignore_offload_bitfield =3D 1, > }, > .txmode =3D { > .mq_mode =3D ETH_MQ_TX_VMDQ_DCB, > @@ -290,7 +289,6 @@ port_init(uint16_t port, struct rte_mempool > *mbuf_pool) > } >=20 > txq_conf =3D dev_info.default_txconf; > - txq_conf.txq_flags =3D ETH_TXQ_FLAGS_IGNORE; > txq_conf.offloads =3D port_conf.txmode.offloads; > for (q =3D 0; q < num_queues; q++) { > retval =3D rte_eth_tx_queue_setup(port, q, txRingSize, > diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethde= v.c > index 5aa7a1a7d..16b8258a7 100644 > --- a/lib/librte_ethdev/rte_ethdev.c > +++ b/lib/librte_ethdev/rte_ethdev.c > @@ -974,41 +974,6 @@ rte_eth_speed_bitflag(uint32_t speed, int duplex) > } > } >=20 > -/** > - * A conversion function from rxmode bitfield API. > - */ > -static void > -rte_eth_convert_rx_offload_bitfield(const struct rte_eth_rxmode > *rxmode, > - uint64_t *rx_offloads) > -{ > - uint64_t offloads =3D 0; > - > - if (rxmode->header_split =3D=3D 1) > - offloads |=3D DEV_RX_OFFLOAD_HEADER_SPLIT; > - if (rxmode->hw_ip_checksum =3D=3D 1) > - offloads |=3D DEV_RX_OFFLOAD_CHECKSUM; > - if (rxmode->hw_vlan_filter =3D=3D 1) > - offloads |=3D DEV_RX_OFFLOAD_VLAN_FILTER; > - if (rxmode->hw_vlan_strip =3D=3D 1) > - offloads |=3D DEV_RX_OFFLOAD_VLAN_STRIP; > - if (rxmode->hw_vlan_extend =3D=3D 1) > - offloads |=3D DEV_RX_OFFLOAD_VLAN_EXTEND; > - if (rxmode->jumbo_frame =3D=3D 1) > - offloads |=3D DEV_RX_OFFLOAD_JUMBO_FRAME; > - if (rxmode->hw_strip_crc =3D=3D 1) > - offloads |=3D DEV_RX_OFFLOAD_CRC_STRIP; > - if (rxmode->enable_scatter =3D=3D 1) > - offloads |=3D DEV_RX_OFFLOAD_SCATTER; > - if (rxmode->enable_lro =3D=3D 1) > - offloads |=3D DEV_RX_OFFLOAD_TCP_LRO; > - if (rxmode->hw_timestamp =3D=3D 1) > - offloads |=3D DEV_RX_OFFLOAD_TIMESTAMP; > - if (rxmode->security =3D=3D 1) > - offloads |=3D DEV_RX_OFFLOAD_SECURITY; > - > - *rx_offloads =3D offloads; > -} > - > const char * __rte_experimental > rte_eth_dev_rx_offload_name(uint64_t offload) > { > @@ -1095,14 +1060,6 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t > nb_rx_q, uint16_t nb_tx_q, > return -EBUSY; > } >=20 > - /* > - * Convert between the offloads API to enable PMDs to support > - * only one of them. > - */ > - if (dev_conf->rxmode.ignore_offload_bitfield =3D=3D 0) > - rte_eth_convert_rx_offload_bitfield( > - &dev_conf->rxmode, > &local_conf.rxmode.offloads); > - > /* Copy the dev_conf parameter into the dev structure */ > memcpy(&dev->data->dev_conf, &local_conf, sizeof(dev->data- > >dev_conf)); >=20 > @@ -1547,14 +1504,6 @@ rte_eth_rx_queue_setup(uint16_t port_id, > uint16_t rx_queue_id, > rx_conf =3D &dev_info.default_rxconf; >=20 > local_conf =3D *rx_conf; > - if (dev->data->dev_conf.rxmode.ignore_offload_bitfield =3D=3D 0) { > - /** > - * Reflect port offloads to queue offloads in order for > - * offloads to not be discarded. > - */ > - rte_eth_convert_rx_offload_bitfield(&dev->data- > >dev_conf.rxmode, > - &local_conf.offloads); > - } >=20 > /* > * If an offloading has already been enabled in > @@ -1596,55 +1545,6 @@ rte_eth_rx_queue_setup(uint16_t port_id, > uint16_t rx_queue_id, > return eth_err(port_id, ret); > } >=20 > -/** > - * Convert from tx offloads to txq_flags. > - */ > -static void > -rte_eth_convert_tx_offload(const uint64_t tx_offloads, uint32_t > *txq_flags) > -{ > - uint32_t flags =3D 0; > - > - if (!(tx_offloads & DEV_TX_OFFLOAD_MULTI_SEGS)) > - flags |=3D ETH_TXQ_FLAGS_NOMULTSEGS; > - if (!(tx_offloads & DEV_TX_OFFLOAD_VLAN_INSERT)) > - flags |=3D ETH_TXQ_FLAGS_NOVLANOFFL; > - if (!(tx_offloads & DEV_TX_OFFLOAD_SCTP_CKSUM)) > - flags |=3D ETH_TXQ_FLAGS_NOXSUMSCTP; > - if (!(tx_offloads & DEV_TX_OFFLOAD_UDP_CKSUM)) > - flags |=3D ETH_TXQ_FLAGS_NOXSUMUDP; > - if (!(tx_offloads & DEV_TX_OFFLOAD_TCP_CKSUM)) > - flags |=3D ETH_TXQ_FLAGS_NOXSUMTCP; > - if (tx_offloads & DEV_TX_OFFLOAD_MBUF_FAST_FREE) > - flags |=3D ETH_TXQ_FLAGS_NOREFCOUNT | > ETH_TXQ_FLAGS_NOMULTMEMP; > - > - *txq_flags =3D flags; > -} > - > -/** > - * A conversion function from txq_flags API. > - */ > -static void > -rte_eth_convert_txq_flags(const uint32_t txq_flags, uint64_t *tx_offload= s) > -{ > - uint64_t offloads =3D 0; > - > - if (!(txq_flags & ETH_TXQ_FLAGS_NOMULTSEGS)) > - offloads |=3D DEV_TX_OFFLOAD_MULTI_SEGS; > - if (!(txq_flags & ETH_TXQ_FLAGS_NOVLANOFFL)) > - offloads |=3D DEV_TX_OFFLOAD_VLAN_INSERT; > - if (!(txq_flags & ETH_TXQ_FLAGS_NOXSUMSCTP)) > - offloads |=3D DEV_TX_OFFLOAD_SCTP_CKSUM; > - if (!(txq_flags & ETH_TXQ_FLAGS_NOXSUMUDP)) > - offloads |=3D DEV_TX_OFFLOAD_UDP_CKSUM; > - if (!(txq_flags & ETH_TXQ_FLAGS_NOXSUMTCP)) > - offloads |=3D DEV_TX_OFFLOAD_TCP_CKSUM; > - if ((txq_flags & ETH_TXQ_FLAGS_NOREFCOUNT) && > - (txq_flags & ETH_TXQ_FLAGS_NOMULTMEMP)) > - offloads |=3D DEV_TX_OFFLOAD_MBUF_FAST_FREE; > - > - *tx_offloads =3D offloads; > -} > - > int > rte_eth_tx_queue_setup(uint16_t port_id, uint16_t tx_queue_id, > uint16_t nb_tx_desc, unsigned int socket_id, > @@ -1707,15 +1607,7 @@ rte_eth_tx_queue_setup(uint16_t port_id, > uint16_t tx_queue_id, > if (tx_conf =3D=3D NULL) > tx_conf =3D &dev_info.default_txconf; >=20 > - /* > - * Convert between the offloads API to enable PMDs to support > - * only one of them. > - */ > local_conf =3D *tx_conf; > - if (!(tx_conf->txq_flags & ETH_TXQ_FLAGS_IGNORE)) { > - rte_eth_convert_txq_flags(tx_conf->txq_flags, > - &local_conf.offloads); > - } >=20 > /* > * If an offloading has already been enabled in > @@ -2493,7 +2385,6 @@ void > rte_eth_dev_info_get(uint16_t port_id, struct rte_eth_dev_info > *dev_info) > { > struct rte_eth_dev *dev; > - struct rte_eth_txconf *txconf; > const struct rte_eth_desc_lim lim =3D { > .nb_max =3D UINT16_MAX, > .nb_min =3D 0, > @@ -2515,9 +2406,6 @@ rte_eth_dev_info_get(uint16_t port_id, struct > rte_eth_dev_info *dev_info) > dev_info->nb_tx_queues =3D dev->data->nb_tx_queues; >=20 > dev_info->dev_flags =3D &dev->data->dev_flags; > - txconf =3D &dev_info->default_txconf; > - /* convert offload to txq_flags to support legacy app */ > - rte_eth_convert_tx_offload(txconf->offloads, &txconf->txq_flags); > } >=20 > int > @@ -3958,7 +3846,6 @@ rte_eth_tx_queue_info_get(uint16_t port_id, > uint16_t queue_id, > struct rte_eth_txq_info *qinfo) > { > struct rte_eth_dev *dev; > - struct rte_eth_txconf *txconf =3D &qinfo->conf; >=20 > RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV); >=20 > @@ -3975,8 +3862,6 @@ rte_eth_tx_queue_info_get(uint16_t port_id, > uint16_t queue_id, >=20 > memset(qinfo, 0, sizeof(*qinfo)); > dev->dev_ops->txq_info_get(dev, queue_id, qinfo); > - /* convert offload to txq_flags to support legacy app */ > - rte_eth_convert_tx_offload(txconf->offloads, &txconf->txq_flags); >=20 > return 0; > } > diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethde= v.h > index aa991da62..8d6b1f6e0 100644 > --- a/lib/librte_ethdev/rte_ethdev.h > +++ b/lib/librte_ethdev/rte_ethdev.h > @@ -326,7 +326,7 @@ enum rte_eth_tx_mq_mode { > struct rte_eth_rxmode { > /** The multi-queue packet distribution mode to be used, e.g. RSS. > */ > enum rte_eth_rx_mq_mode mq_mode; > - uint32_t max_rx_pkt_len; /**< Only used if jumbo_frame enabled. > */ > + uint32_t max_rx_pkt_len; /**< Only used if JUMBO_FRAME > enabled. */ > uint16_t split_hdr_size; /**< hdr buf size (header_split enabled).*/ > /** > * Per-port Rx offloads to be set using DEV_RX_OFFLOAD_* flags. > @@ -334,33 +334,6 @@ struct rte_eth_rxmode { > * structure are allowed to be set. > */ > uint64_t offloads; > - __extension__ > - /** > - * Below bitfield API is obsolete. Application should > - * enable per-port offloads using the offload field > - * above. > - */ > - uint16_t header_split : 1, /**< Header Split enable. */ > - hw_ip_checksum : 1, /**< IP/UDP/TCP checksum offload > enable. */ > - hw_vlan_filter : 1, /**< VLAN filter enable. */ > - hw_vlan_strip : 1, /**< VLAN strip enable. */ > - hw_vlan_extend : 1, /**< Extended VLAN enable. */ > - jumbo_frame : 1, /**< Jumbo Frame Receipt enable. */ > - hw_strip_crc : 1, /**< Enable CRC stripping by hardware. */ > - enable_scatter : 1, /**< Enable scatter packets rx handler */ > - enable_lro : 1, /**< Enable LRO */ > - hw_timestamp : 1, /**< Enable HW timestamp */ > - security : 1, /**< Enable rte_security offloads */ > - /** > - * When set the offload bitfield should be ignored. > - * Instead per-port Rx offloads should be set on offloads > - * field above. > - * Per-queue offloads shuold be set on rte_eth_rxq_conf > - * structure. > - * This bit is temporary till rxmode bitfield offloads API will > - * be deprecated. > - */ > - ignore_offload_bitfield : 1; > }; >=20 > /** > @@ -707,28 +680,6 @@ struct rte_eth_rxconf { > uint64_t offloads; > }; >=20 > -#define ETH_TXQ_FLAGS_NOMULTSEGS 0x0001 /**< nb_segs=3D1 for all > mbufs */ > -#define ETH_TXQ_FLAGS_NOREFCOUNT 0x0002 /**< refcnt can be ignored > */ > -#define ETH_TXQ_FLAGS_NOMULTMEMP 0x0004 /**< all bufs come from > same mempool */ > -#define ETH_TXQ_FLAGS_NOVLANOFFL 0x0100 /**< disable VLAN offload > */ > -#define ETH_TXQ_FLAGS_NOXSUMSCTP 0x0200 /**< disable SCTP > checksum offload */ > -#define ETH_TXQ_FLAGS_NOXSUMUDP 0x0400 /**< disable UDP > checksum offload */ > -#define ETH_TXQ_FLAGS_NOXSUMTCP 0x0800 /**< disable TCP checksum > offload */ > -#define ETH_TXQ_FLAGS_NOOFFLOADS \ > - (ETH_TXQ_FLAGS_NOVLANOFFL | > ETH_TXQ_FLAGS_NOXSUMSCTP | \ > - ETH_TXQ_FLAGS_NOXSUMUDP | > ETH_TXQ_FLAGS_NOXSUMTCP) > -#define ETH_TXQ_FLAGS_NOXSUMS \ > - (ETH_TXQ_FLAGS_NOXSUMSCTP | > ETH_TXQ_FLAGS_NOXSUMUDP | \ > - ETH_TXQ_FLAGS_NOXSUMTCP) > -/** > - * When set the txq_flags should be ignored, > - * instead per-queue Tx offloads will be set on offloads field > - * located on rte_eth_txq_conf struct. > - * This flag is temporary till the rte_eth_txq_conf.txq_flags > - * API will be deprecated. > - */ > -#define ETH_TXQ_FLAGS_IGNORE 0x8000 > - > /** > * A structure used to configure a TX ring of an Ethernet port. > */ > @@ -738,7 +689,6 @@ struct rte_eth_txconf { > uint16_t tx_free_thresh; /**< Start freeing TX buffers if there are > less free descriptors than this value. */ >=20 > - uint32_t txq_flags; /**< Set flags for the Tx queue */ > uint8_t tx_deferred_start; /**< Do not start queue with > rte_eth_dev_start(). */ > /** > * Per-queue Tx offloads to be set using DEV_TX_OFFLOAD_* flags. > @@ -1680,12 +1630,6 @@ int rte_eth_rx_queue_setup(uint16_t port_id, > uint16_t rx_queue_id, > * The *tx_rs_thresh* value should be less or equal then > * *tx_free_thresh* value, and both of them should be less then > * *nb_tx_desc* - 3. > - * - The *txq_flags* member contains flags to pass to the TX queue set= up > - * function to configure the behavior of the TX queue. This should b= e set > - * to 0 if no special configuration is required. > - * This API is obsolete and will be deprecated. Applications > - * should set it to ETH_TXQ_FLAGS_IGNORE and use > - * the offloads field below. > * - The *offloads* member contains Tx offloads to be enabled. > * If an offloading set in tx_conf->offloads > * hasn't been set in the input argument eth_conf->txmode.offloads > @@ -4081,7 +4025,7 @@ static inline int > rte_eth_tx_descriptor_status(uint16_t port_id, > * > * If the PMD is DEV_TX_OFFLOAD_MT_LOCKFREE capable, multiple threads > can > * invoke this function concurrently on the same tx queue without SW loc= k. > - * @see rte_eth_dev_info_get, struct rte_eth_txconf::txq_flags > + * @see rte_eth_dev_info_get, struct rte_eth_txconf::offloads > * > * @see rte_eth_tx_prepare to perform some prior checks or adjustments > * for offloads. > -- > 2.17.1