All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
From: xuan.ding@intel.com
To: thomas@monjalon.net, andrew.rybchenko@oktetlabs.ru,
	ferruh.yigit@xilinx.com, viacheslavo@nvidia.com,
	jerinj@marvell.com, cristian.dumitrescu@intel.com,
	aman.deep.singh@intel.com, yuying.zhang@intel.com, chas3@att.com,
	humin29@huawei.com, gakhil@marvell.com, qi.z.zhang@intel.com,
	xiao.w.wang@intel.com, qiming.yang@intel.com,
	wenjun1.wu@intel.com, mdr@ashroe.eu, ndabilpuram@marvell.com,
	kirankumark@marvell.com, skori@marvell.com,
	skoteshwar@marvell.com, grive@u256.net, beilei.xing@intel.com,
	zr@semihalf.com, lironh@marvell.com, mczekaj@marvell.com,
	orika@nvidia.com, konstantin.v.ananyev@yandex.ru,
	radu.nicolau@intel.com, pbhagavatula@marvell.com,
	bruce.richardson@intel.com, anatoly.burakov@intel.com,
	jingjing.wu@intel.com, junfeng.guo@intel.com,
	jasvinder.singh@intel.com, maxime.coquelin@redhat.com,
	chenbo.xia@intel.com
Cc: dev@dpdk.org, Xuan Ding <xuan.ding@intel.com>
Subject: [PATCH] ethdev: remove header split Rx offload
Date: Thu, 11 Aug 2022 09:20:28 +0000	[thread overview]
Message-ID: <20220811092028.99919-1-xuan.ding@intel.com> (raw)

From: Xuan Ding <xuan.ding@intel.com>

As announced in the deprecation note, this patch removes the Rx offload
flag 'RTE_ETH_RX_OFFLOAD_HEADER_SPLIT' and 'split_hdr_size' field from
the structure 'rte_eth_rxmode'. User can still use
`RTE_ETH_RX_OFFLOAD_BUFFER_SPLIT` for per-queue packet split offload,
which is configured by 'rte_eth_rxseg_split'.

Signed-off-by: Xuan Ding <xuan.ding@intel.com>
---
 app/test-eventdev/test_perf_common.c        |  1 -
 app/test-pipeline/init.c                    |  1 -
 app/test-pmd/cmdline.c                      | 12 ++++++------
 app/test/test_link_bonding.c                |  1 -
 app/test/test_link_bonding_mode4.c          |  1 -
 app/test/test_link_bonding_rssconf.c        |  2 --
 app/test/test_pmd_perf.c                    |  1 -
 app/test/test_security_inline_proto.c       |  1 -
 doc/guides/nics/fm10k.rst                   |  4 ----
 doc/guides/nics/ixgbe.rst                   |  4 ----
 doc/guides/rel_notes/deprecation.rst        |  6 ------
 doc/guides/rel_notes/release_22_11.rst      |  5 +++++
 doc/guides/testpmd_app_ug/testpmd_funcs.rst |  4 ++--
 drivers/net/cnxk/cnxk_ethdev_ops.c          |  1 -
 drivers/net/failsafe/failsafe_ops.c         |  2 --
 drivers/net/fm10k/fm10k_ethdev.c            |  1 -
 drivers/net/fm10k/fm10k_rxtx_vec.c          |  4 ----
 drivers/net/i40e/i40e_rxtx_vec_common.h     |  4 ----
 drivers/net/mvneta/mvneta_ethdev.c          |  5 -----
 drivers/net/mvpp2/mrvl_ethdev.c             |  5 -----
 drivers/net/thunderx/nicvf_ethdev.c         |  5 -----
 examples/bond/main.c                        |  1 -
 examples/flow_filtering/main.c              |  3 ---
 examples/ip_fragmentation/main.c            |  1 -
 examples/ip_pipeline/link.c                 |  1 -
 examples/ip_reassembly/main.c               |  1 -
 examples/ipsec-secgw/ipsec-secgw.c          |  1 -
 examples/l2fwd-event/l2fwd_common.c         |  3 ---
 examples/l2fwd-jobstats/main.c              |  3 ---
 examples/l2fwd-keepalive/main.c             |  3 ---
 examples/l2fwd/main.c                       |  3 ---
 examples/link_status_interrupt/main.c       |  3 ---
 examples/multi_process/symmetric_mp/main.c  |  1 -
 examples/ntb/ntb_fwd.c                      |  1 -
 examples/pipeline/obj.c                     |  1 -
 examples/qos_meter/main.c                   |  1 -
 examples/qos_sched/init.c                   |  3 ---
 examples/vhost/main.c                       |  1 -
 lib/ethdev/rte_ethdev.c                     |  1 -
 lib/ethdev/rte_ethdev.h                     |  3 ---
 40 files changed, 13 insertions(+), 92 deletions(-)

diff --git a/app/test-eventdev/test_perf_common.c b/app/test-eventdev/test_perf_common.c
index 81420be73a..7474b9270a 100644
--- a/app/test-eventdev/test_perf_common.c
+++ b/app/test-eventdev/test_perf_common.c
@@ -1244,7 +1244,6 @@ perf_ethdev_setup(struct evt_test *test, struct evt_options *opt)
 	struct rte_eth_conf port_conf = {
 		.rxmode = {
 			.mq_mode = RTE_ETH_MQ_RX_RSS,
-			.split_hdr_size = 0,
 		},
 		.rx_adv_conf = {
 			.rss_conf = {
diff --git a/app/test-pipeline/init.c b/app/test-pipeline/init.c
index eee0719b67..d146c44be0 100644
--- a/app/test-pipeline/init.c
+++ b/app/test-pipeline/init.c
@@ -68,7 +68,6 @@ struct app_params app = {
 
 static struct rte_eth_conf port_conf = {
 	.rxmode = {
-		.split_hdr_size = 0,
 		.offloads = RTE_ETH_RX_OFFLOAD_CHECKSUM,
 	},
 	.rx_adv_conf = {
diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
index b4fe9dfb17..5787659c32 100644
--- a/app/test-pmd/cmdline.c
+++ b/app/test-pmd/cmdline.c
@@ -745,7 +745,7 @@ static void cmd_help_long_parsed(void *parsed_result,
 
 			"port config <port_id> rx_offload vlan_strip|"
 			"ipv4_cksum|udp_cksum|tcp_cksum|tcp_lro|qinq_strip|"
-			"outer_ipv4_cksum|macsec_strip|header_split|"
+			"outer_ipv4_cksum|macsec_strip|"
 			"vlan_filter|vlan_extend|jumbo_frame|scatter|"
 			"buffer_split|timestamp|security|keep_crc on|off\n"
 			"     Enable or disable a per port Rx offloading"
@@ -753,7 +753,7 @@ static void cmd_help_long_parsed(void *parsed_result,
 
 			"port (port_id) rxq (queue_id) rx_offload vlan_strip|"
 			"ipv4_cksum|udp_cksum|tcp_cksum|tcp_lro|qinq_strip|"
-			"outer_ipv4_cksum|macsec_strip|header_split|"
+			"outer_ipv4_cksum|macsec_strip|"
 			"vlan_filter|vlan_extend|jumbo_frame|scatter|"
 			"buffer_split|timestamp|security|keep_crc on|off\n"
 			"    Enable or disable a per queue Rx offloading"
@@ -12522,7 +12522,7 @@ static cmdline_parse_token_string_t cmd_config_per_port_rx_offload_result_offloa
 		(struct cmd_config_per_port_rx_offload_result,
 		 offload, "vlan_strip#ipv4_cksum#udp_cksum#tcp_cksum#tcp_lro#"
 			   "qinq_strip#outer_ipv4_cksum#macsec_strip#"
-			   "header_split#vlan_filter#vlan_extend#jumbo_frame#"
+			   "vlan_filter#vlan_extend#jumbo_frame#"
 			   "scatter#buffer_split#timestamp#security#"
 			   "keep_crc#rss_hash");
 static cmdline_parse_token_string_t cmd_config_per_port_rx_offload_result_on_off =
@@ -12604,7 +12604,7 @@ static cmdline_parse_inst_t cmd_config_per_port_rx_offload = {
 	.data = NULL,
 	.help_str = "port config <port_id> rx_offload vlan_strip|ipv4_cksum|"
 		    "udp_cksum|tcp_cksum|tcp_lro|qinq_strip|outer_ipv4_cksum|"
-		    "macsec_strip|header_split|vlan_filter|vlan_extend|"
+		    "macsec_strip|vlan_filter|vlan_extend|"
 		    "jumbo_frame|scatter|buffer_split|timestamp|security|"
 		    "keep_crc|rss_hash on|off",
 	.tokens = {
@@ -12654,7 +12654,7 @@ static cmdline_parse_token_string_t cmd_config_per_queue_rx_offload_result_offlo
 		(struct cmd_config_per_queue_rx_offload_result,
 		 offload, "vlan_strip#ipv4_cksum#udp_cksum#tcp_cksum#tcp_lro#"
 			   "qinq_strip#outer_ipv4_cksum#macsec_strip#"
-			   "header_split#vlan_filter#vlan_extend#jumbo_frame#"
+			   "vlan_filter#vlan_extend#jumbo_frame#"
 			   "scatter#buffer_split#timestamp#security#keep_crc");
 static cmdline_parse_token_string_t cmd_config_per_queue_rx_offload_result_on_off =
 	TOKEN_STRING_INITIALIZER
@@ -12712,7 +12712,7 @@ static cmdline_parse_inst_t cmd_config_per_queue_rx_offload = {
 	.help_str = "port <port_id> rxq <queue_id> rx_offload "
 		    "vlan_strip|ipv4_cksum|"
 		    "udp_cksum|tcp_cksum|tcp_lro|qinq_strip|outer_ipv4_cksum|"
-		    "macsec_strip|header_split|vlan_filter|vlan_extend|"
+		    "macsec_strip|vlan_filter|vlan_extend|"
 		    "jumbo_frame|scatter|buffer_split|timestamp|security|"
 		    "keep_crc on|off",
 	.tokens = {
diff --git a/app/test/test_link_bonding.c b/app/test/test_link_bonding.c
index 194ed5a7ec..977ddc1c00 100644
--- a/app/test/test_link_bonding.c
+++ b/app/test/test_link_bonding.c
@@ -135,7 +135,6 @@ static uint16_t vlan_id = 0x100;
 static struct rte_eth_conf default_pmd_conf = {
 	.rxmode = {
 		.mq_mode = RTE_ETH_MQ_RX_NONE,
-		.split_hdr_size = 0,
 	},
 	.txmode = {
 		.mq_mode = RTE_ETH_MQ_TX_NONE,
diff --git a/app/test/test_link_bonding_mode4.c b/app/test/test_link_bonding_mode4.c
index d9b9c323c7..21c512c94b 100644
--- a/app/test/test_link_bonding_mode4.c
+++ b/app/test/test_link_bonding_mode4.c
@@ -108,7 +108,6 @@ static struct link_bonding_unittest_params test_params  = {
 static struct rte_eth_conf default_pmd_conf = {
 	.rxmode = {
 		.mq_mode = RTE_ETH_MQ_RX_NONE,
-		.split_hdr_size = 0,
 	},
 	.txmode = {
 		.mq_mode = RTE_ETH_MQ_TX_NONE,
diff --git a/app/test/test_link_bonding_rssconf.c b/app/test/test_link_bonding_rssconf.c
index b3d71c6f3a..464fb2dbd0 100644
--- a/app/test/test_link_bonding_rssconf.c
+++ b/app/test/test_link_bonding_rssconf.c
@@ -81,7 +81,6 @@ static struct link_bonding_rssconf_unittest_params test_params  = {
 static struct rte_eth_conf default_pmd_conf = {
 	.rxmode = {
 		.mq_mode = RTE_ETH_MQ_RX_NONE,
-		.split_hdr_size = 0,
 	},
 	.txmode = {
 		.mq_mode = RTE_ETH_MQ_TX_NONE,
@@ -92,7 +91,6 @@ static struct rte_eth_conf default_pmd_conf = {
 static struct rte_eth_conf rss_pmd_conf = {
 	.rxmode = {
 		.mq_mode = RTE_ETH_MQ_RX_RSS,
-		.split_hdr_size = 0,
 	},
 	.txmode = {
 		.mq_mode = RTE_ETH_MQ_TX_NONE,
diff --git a/app/test/test_pmd_perf.c b/app/test/test_pmd_perf.c
index ec3dc251d1..34551e9b1a 100644
--- a/app/test/test_pmd_perf.c
+++ b/app/test/test_pmd_perf.c
@@ -62,7 +62,6 @@ static struct rte_ether_addr ports_eth_addr[RTE_MAX_ETHPORTS];
 static struct rte_eth_conf port_conf = {
 	.rxmode = {
 		.mq_mode = RTE_ETH_MQ_RX_NONE,
-		.split_hdr_size = 0,
 	},
 	.txmode = {
 		.mq_mode = RTE_ETH_MQ_TX_NONE,
diff --git a/app/test/test_security_inline_proto.c b/app/test/test_security_inline_proto.c
index 5f26a04b06..0e5f69e636 100644
--- a/app/test/test_security_inline_proto.c
+++ b/app/test/test_security_inline_proto.c
@@ -73,7 +73,6 @@ static struct rte_ether_addr ports_eth_addr[RTE_MAX_ETHPORTS];
 static struct rte_eth_conf port_conf = {
 	.rxmode = {
 		.mq_mode = RTE_ETH_MQ_RX_NONE,
-		.split_hdr_size = 0,
 		.offloads = RTE_ETH_RX_OFFLOAD_CHECKSUM |
 			    RTE_ETH_RX_OFFLOAD_SECURITY,
 	},
diff --git a/doc/guides/nics/fm10k.rst b/doc/guides/nics/fm10k.rst
index d6efac0917..c0a37d35cc 100644
--- a/doc/guides/nics/fm10k.rst
+++ b/doc/guides/nics/fm10k.rst
@@ -63,8 +63,6 @@ vPMD. They are:
 
 *   Flow director
 
-*   Header split
-
 *   RX checksum offload
 
 Other features are supported using optional MACRO configuration. They include:
@@ -82,8 +80,6 @@ will be checked:
 
 *   ``RTE_ETH_RX_OFFLOAD_CHECKSUM``
 
-*   ``RTE_ETH_RX_OFFLOAD_HEADER_SPLIT``
-
 *   ``fdir_conf->mode``
 
 
diff --git a/doc/guides/nics/ixgbe.rst b/doc/guides/nics/ixgbe.rst
index ad1a3da610..868d4c08cc 100644
--- a/doc/guides/nics/ixgbe.rst
+++ b/doc/guides/nics/ixgbe.rst
@@ -77,8 +77,6 @@ They are:
 
 *   FDIR
 
-*   Header split
-
 *   RX checksum off load
 
 Other features are supported using optional MACRO configuration. They include:
@@ -95,8 +93,6 @@ To guarantee the constraint, capabilities in dev_conf.rxmode.offloads will be ch
 
 *   RTE_ETH_RX_OFFLOAD_CHECKSUM
 
-*   RTE_ETH_RX_OFFLOAD_HEADER_SPLIT
-
 *   dev_conf
 
 fdir_conf->mode will also be checked.
diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index e7583cae4c..7ceb0c9955 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -92,12 +92,6 @@ Deprecation Notices
   The ``rate`` parameter will be modified to ``uint32_t`` in DPDK 22.11
   so that it can work for more than 64 Gbps.
 
-* ethdev: Since no single PMD supports ``RTE_ETH_RX_OFFLOAD_HEADER_SPLIT``
-  offload and the ``split_hdr_size`` field in structure ``rte_eth_rxmode``
-  to enable per-port header split, they will be removed in DPDK 22.11.
-  The per-queue Rx packet split offload ``RTE_ETH_RX_OFFLOAD_BUFFER_SPLIT``
-  can still be used, and it is configured by ``rte_eth_rxseg_split``.
-
 * ethdev: The flow director API, including ``rte_eth_conf.fdir_conf`` field,
   and the related structures (``rte_fdir_*`` and ``rte_eth_fdir_*``),
   will be removed in DPDK 20.11.
diff --git a/doc/guides/rel_notes/release_22_11.rst b/doc/guides/rel_notes/release_22_11.rst
index 8c021cf050..d28e07b2d6 100644
--- a/doc/guides/rel_notes/release_22_11.rst
+++ b/doc/guides/rel_notes/release_22_11.rst
@@ -100,6 +100,11 @@ ABI Changes
    Also, make sure to start the actual text at the margin.
    =======================================================
 
+   * ethdev: Removed the Rx offload flag ``RTE_ETH_RX_OFFLOAD_HEADER_SPLIT``
+     and field ``split_hdr_size`` from the structure ``rte_eth_rxmode`` used
+     to configure header split. Instead, user can still use
+     ``RTE_ETH_RX_OFFLOAD_BUFFER_SPLIT`` for per-queue packet split
+     offlod, which is configured by ``rte_eth_rxseg_split``.
 
 Known Issues
 ------------
diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
index 330e34427d..0093fbfcff 100644
--- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst
+++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
@@ -1626,7 +1626,7 @@ Enable or disable a per port Rx offloading on all Rx queues of a port::
 * ``offloading``: can be any of these offloading capability:
                   vlan_strip, ipv4_cksum, udp_cksum, tcp_cksum, tcp_lro,
                   qinq_strip, outer_ipv4_cksum, macsec_strip,
-                  header_split, vlan_filter, vlan_extend, jumbo_frame,
+                  vlan_filter, vlan_extend, jumbo_frame,
                   scatter, timestamp, security, keep_crc, rss_hash
 
 This command should be run when the port is stopped, or else it will fail.
@@ -1641,7 +1641,7 @@ Enable or disable a per queue Rx offloading only on a specific Rx queue::
 * ``offloading``: can be any of these offloading capability:
                   vlan_strip, ipv4_cksum, udp_cksum, tcp_cksum, tcp_lro,
                   qinq_strip, outer_ipv4_cksum, macsec_strip,
-                  header_split, vlan_filter, vlan_extend, jumbo_frame,
+                  vlan_filter, vlan_extend, jumbo_frame,
                   scatter, timestamp, security, keep_crc
 
 This command should be run when the port is stopped, or else it will fail.
diff --git a/drivers/net/cnxk/cnxk_ethdev_ops.c b/drivers/net/cnxk/cnxk_ethdev_ops.c
index 1592971073..8c81d8a862 100644
--- a/drivers/net/cnxk/cnxk_ethdev_ops.c
+++ b/drivers/net/cnxk/cnxk_ethdev_ops.c
@@ -90,7 +90,6 @@ cnxk_nix_rx_burst_mode_get(struct rte_eth_dev *eth_dev, uint16_t queue_id,
 		{RTE_ETH_RX_OFFLOAD_QINQ_STRIP, " QinQ VLAN Strip,"},
 		{RTE_ETH_RX_OFFLOAD_OUTER_IPV4_CKSUM, " Outer IPv4 Checksum,"},
 		{RTE_ETH_RX_OFFLOAD_MACSEC_STRIP, " MACsec Strip,"},
-		{RTE_ETH_RX_OFFLOAD_HEADER_SPLIT, " Header Split,"},
 		{RTE_ETH_RX_OFFLOAD_VLAN_FILTER, " VLAN Filter,"},
 		{RTE_ETH_RX_OFFLOAD_VLAN_EXTEND, " VLAN Extend,"},
 		{RTE_ETH_RX_OFFLOAD_SCATTER, " Scattered,"},
diff --git a/drivers/net/failsafe/failsafe_ops.c b/drivers/net/failsafe/failsafe_ops.c
index 55e21d635c..86b4749f30 100644
--- a/drivers/net/failsafe/failsafe_ops.c
+++ b/drivers/net/failsafe/failsafe_ops.c
@@ -1187,7 +1187,6 @@ fs_dev_infos_get(struct rte_eth_dev *dev,
 		RTE_ETH_RX_OFFLOAD_QINQ_STRIP |
 		RTE_ETH_RX_OFFLOAD_OUTER_IPV4_CKSUM |
 		RTE_ETH_RX_OFFLOAD_MACSEC_STRIP |
-		RTE_ETH_RX_OFFLOAD_HEADER_SPLIT |
 		RTE_ETH_RX_OFFLOAD_VLAN_FILTER |
 		RTE_ETH_RX_OFFLOAD_VLAN_EXTEND |
 		RTE_ETH_RX_OFFLOAD_SCATTER |
@@ -1204,7 +1203,6 @@ fs_dev_infos_get(struct rte_eth_dev *dev,
 		RTE_ETH_RX_OFFLOAD_QINQ_STRIP |
 		RTE_ETH_RX_OFFLOAD_OUTER_IPV4_CKSUM |
 		RTE_ETH_RX_OFFLOAD_MACSEC_STRIP |
-		RTE_ETH_RX_OFFLOAD_HEADER_SPLIT |
 		RTE_ETH_RX_OFFLOAD_VLAN_FILTER |
 		RTE_ETH_RX_OFFLOAD_VLAN_EXTEND |
 		RTE_ETH_RX_OFFLOAD_SCATTER |
diff --git a/drivers/net/fm10k/fm10k_ethdev.c b/drivers/net/fm10k/fm10k_ethdev.c
index 8bbd8b445d..3f96703991 100644
--- a/drivers/net/fm10k/fm10k_ethdev.c
+++ b/drivers/net/fm10k/fm10k_ethdev.c
@@ -1779,7 +1779,6 @@ static uint64_t fm10k_get_rx_port_offloads_capa(struct rte_eth_dev *dev)
 			   RTE_ETH_RX_OFFLOAD_IPV4_CKSUM  |
 			   RTE_ETH_RX_OFFLOAD_UDP_CKSUM   |
 			   RTE_ETH_RX_OFFLOAD_TCP_CKSUM   |
-			   RTE_ETH_RX_OFFLOAD_HEADER_SPLIT |
 			   RTE_ETH_RX_OFFLOAD_RSS_HASH);
 }
 
diff --git a/drivers/net/fm10k/fm10k_rxtx_vec.c b/drivers/net/fm10k/fm10k_rxtx_vec.c
index 10ce5a7582..ad998e83bf 100644
--- a/drivers/net/fm10k/fm10k_rxtx_vec.c
+++ b/drivers/net/fm10k/fm10k_rxtx_vec.c
@@ -221,10 +221,6 @@ fm10k_rx_vec_condition_check(struct rte_eth_dev *dev)
 	if (fconf->mode != RTE_FDIR_MODE_NONE)
 		return -1;
 
-	/* no header split support */
-	if (rxmode->offloads & RTE_ETH_RX_OFFLOAD_HEADER_SPLIT)
-		return -1;
-
 	return 0;
 #else
 	RTE_SET_USED(dev);
diff --git a/drivers/net/i40e/i40e_rxtx_vec_common.h b/drivers/net/i40e/i40e_rxtx_vec_common.h
index 959832ed6a..08266ce1f3 100644
--- a/drivers/net/i40e/i40e_rxtx_vec_common.h
+++ b/drivers/net/i40e/i40e_rxtx_vec_common.h
@@ -220,10 +220,6 @@ i40e_rx_vec_dev_conf_condition_check_default(struct rte_eth_dev *dev)
 	if (fconf->mode != RTE_FDIR_MODE_NONE)
 		return -1;
 
-	 /* no header split support */
-	if (rxmode->offloads & RTE_ETH_RX_OFFLOAD_HEADER_SPLIT)
-		return -1;
-
 	/* no QinQ support */
 	if (rxmode->offloads & RTE_ETH_RX_OFFLOAD_VLAN_EXTEND)
 		return -1;
diff --git a/drivers/net/mvneta/mvneta_ethdev.c b/drivers/net/mvneta/mvneta_ethdev.c
index eef016aa0b..f9e5b96c77 100644
--- a/drivers/net/mvneta/mvneta_ethdev.c
+++ b/drivers/net/mvneta/mvneta_ethdev.c
@@ -121,11 +121,6 @@ mvneta_dev_configure(struct rte_eth_dev *dev)
 			return -EINVAL;
 	}
 
-	if (dev->data->dev_conf.rxmode.split_hdr_size) {
-		MVNETA_LOG(INFO, "Split headers not supported");
-		return -EINVAL;
-	}
-
 	if (dev->data->dev_conf.txmode.offloads & RTE_ETH_TX_OFFLOAD_MULTI_SEGS)
 		priv->multiseg = 1;
 
diff --git a/drivers/net/mvpp2/mrvl_ethdev.c b/drivers/net/mvpp2/mrvl_ethdev.c
index 735efb6cfc..f0c093e0fd 100644
--- a/drivers/net/mvpp2/mrvl_ethdev.c
+++ b/drivers/net/mvpp2/mrvl_ethdev.c
@@ -490,11 +490,6 @@ mrvl_dev_configure(struct rte_eth_dev *dev)
 		return -EINVAL;
 	}
 
-	if (dev->data->dev_conf.rxmode.split_hdr_size) {
-		MRVL_LOG(INFO, "Split headers not supported");
-		return -EINVAL;
-	}
-
 	if (dev->data->dev_conf.rxmode.mtu > priv->max_mtu) {
 		MRVL_LOG(ERR, "MTU %u is larger than max_mtu %u\n",
 			 dev->data->dev_conf.rxmode.mtu,
diff --git a/drivers/net/thunderx/nicvf_ethdev.c b/drivers/net/thunderx/nicvf_ethdev.c
index 262c024560..b8b94fc4ff 100644
--- a/drivers/net/thunderx/nicvf_ethdev.c
+++ b/drivers/net/thunderx/nicvf_ethdev.c
@@ -2003,11 +2003,6 @@ nicvf_dev_configure(struct rte_eth_dev *dev)
 		return -EINVAL;
 	}
 
-	if (rxmode->split_hdr_size) {
-		PMD_INIT_LOG(INFO, "Rxmode does not support split header");
-		return -EINVAL;
-	}
-
 	if (conf->dcb_capability_en) {
 		PMD_INIT_LOG(INFO, "DCB enable not supported");
 		return -EINVAL;
diff --git a/examples/bond/main.c b/examples/bond/main.c
index 4efebb3902..9b076bb39f 100644
--- a/examples/bond/main.c
+++ b/examples/bond/main.c
@@ -115,7 +115,6 @@ static struct rte_mempool *mbuf_pool;
 static struct rte_eth_conf port_conf = {
 	.rxmode = {
 		.mq_mode = RTE_ETH_MQ_RX_NONE,
-		.split_hdr_size = 0,
 	},
 	.rx_adv_conf = {
 		.rss_conf = {
diff --git a/examples/flow_filtering/main.c b/examples/flow_filtering/main.c
index bfc1949c84..f11f91a67c 100644
--- a/examples/flow_filtering/main.c
+++ b/examples/flow_filtering/main.c
@@ -133,9 +133,6 @@ init_port(void)
 	uint16_t i;
 	/* Ethernet port configured with default settings. 8< */
 	struct rte_eth_conf port_conf = {
-		.rxmode = {
-			.split_hdr_size = 0,
-		},
 		.txmode = {
 			.offloads =
 				RTE_ETH_TX_OFFLOAD_VLAN_INSERT |
diff --git a/examples/ip_fragmentation/main.c b/examples/ip_fragmentation/main.c
index 78205d2e12..69378f99e6 100644
--- a/examples/ip_fragmentation/main.c
+++ b/examples/ip_fragmentation/main.c
@@ -147,7 +147,6 @@ static struct rte_eth_conf port_conf = {
 	.rxmode = {
 		.mtu = JUMBO_FRAME_MAX_SIZE - RTE_ETHER_HDR_LEN -
 			RTE_ETHER_CRC_LEN,
-		.split_hdr_size = 0,
 		.offloads = (RTE_ETH_RX_OFFLOAD_CHECKSUM |
 			     RTE_ETH_RX_OFFLOAD_SCATTER),
 	},
diff --git a/examples/ip_pipeline/link.c b/examples/ip_pipeline/link.c
index 0290767af4..4d69ebebfb 100644
--- a/examples/ip_pipeline/link.c
+++ b/examples/ip_pipeline/link.c
@@ -47,7 +47,6 @@ static struct rte_eth_conf port_conf_default = {
 	.rxmode = {
 		.mq_mode = RTE_ETH_MQ_RX_NONE,
 		.mtu = 9000 - (RTE_ETHER_HDR_LEN + RTE_ETHER_CRC_LEN), /* Jumbo frame MTU */
-		.split_hdr_size = 0, /* Header split buffer size */
 	},
 	.rx_adv_conf = {
 		.rss_conf = {
diff --git a/examples/ip_reassembly/main.c b/examples/ip_reassembly/main.c
index 3ebf895aa0..4cfe09f9d7 100644
--- a/examples/ip_reassembly/main.c
+++ b/examples/ip_reassembly/main.c
@@ -163,7 +163,6 @@ static struct rte_eth_conf port_conf = {
 		.mq_mode        = RTE_ETH_MQ_RX_RSS,
 		.mtu = JUMBO_FRAME_MAX_SIZE - RTE_ETHER_HDR_LEN -
 			RTE_ETHER_CRC_LEN,
-		.split_hdr_size = 0,
 		.offloads = RTE_ETH_RX_OFFLOAD_CHECKSUM,
 	},
 	.rx_adv_conf = {
diff --git a/examples/ipsec-secgw/ipsec-secgw.c b/examples/ipsec-secgw/ipsec-secgw.c
index 815b9254ae..a0b221a447 100644
--- a/examples/ipsec-secgw/ipsec-secgw.c
+++ b/examples/ipsec-secgw/ipsec-secgw.c
@@ -234,7 +234,6 @@ struct lcore_conf lcore_conf[RTE_MAX_LCORE];
 static struct rte_eth_conf port_conf = {
 	.rxmode = {
 		.mq_mode	= RTE_ETH_MQ_RX_RSS,
-		.split_hdr_size = 0,
 		.offloads = RTE_ETH_RX_OFFLOAD_CHECKSUM,
 	},
 	.rx_adv_conf = {
diff --git a/examples/l2fwd-event/l2fwd_common.c b/examples/l2fwd-event/l2fwd_common.c
index 41a0d3f22f..162f880224 100644
--- a/examples/l2fwd-event/l2fwd_common.c
+++ b/examples/l2fwd-event/l2fwd_common.c
@@ -10,9 +10,6 @@ l2fwd_event_init_ports(struct l2fwd_resources *rsrc)
 	uint16_t nb_rxd = RTE_TEST_RX_DESC_DEFAULT;
 	uint16_t nb_txd = RTE_TEST_TX_DESC_DEFAULT;
 	struct rte_eth_conf port_conf = {
-		.rxmode = {
-			.split_hdr_size = 0,
-		},
 		.txmode = {
 			.mq_mode = RTE_ETH_MQ_TX_NONE,
 		},
diff --git a/examples/l2fwd-jobstats/main.c b/examples/l2fwd-jobstats/main.c
index 9e71ba2d4e..4be598110c 100644
--- a/examples/l2fwd-jobstats/main.c
+++ b/examples/l2fwd-jobstats/main.c
@@ -89,9 +89,6 @@ struct lcore_queue_conf lcore_queue_conf[RTE_MAX_LCORE];
 struct rte_eth_dev_tx_buffer *tx_buffer[RTE_MAX_ETHPORTS];
 
 static struct rte_eth_conf port_conf = {
-	.rxmode = {
-		.split_hdr_size = 0,
-	},
 	.txmode = {
 		.mq_mode = RTE_ETH_MQ_TX_NONE,
 	},
diff --git a/examples/l2fwd-keepalive/main.c b/examples/l2fwd-keepalive/main.c
index bd0aa7ea7a..72f9ece3c6 100644
--- a/examples/l2fwd-keepalive/main.c
+++ b/examples/l2fwd-keepalive/main.c
@@ -78,9 +78,6 @@ struct lcore_queue_conf lcore_queue_conf[RTE_MAX_LCORE];
 struct rte_eth_dev_tx_buffer *tx_buffer[RTE_MAX_ETHPORTS];
 
 static struct rte_eth_conf port_conf = {
-	.rxmode = {
-		.split_hdr_size = 0,
-	},
 	.txmode = {
 		.mq_mode = RTE_ETH_MQ_TX_NONE,
 	},
diff --git a/examples/l2fwd/main.c b/examples/l2fwd/main.c
index 281c6b7a3f..ca802b5fc5 100644
--- a/examples/l2fwd/main.c
+++ b/examples/l2fwd/main.c
@@ -93,9 +93,6 @@ struct lcore_queue_conf lcore_queue_conf[RTE_MAX_LCORE];
 static struct rte_eth_dev_tx_buffer *tx_buffer[RTE_MAX_ETHPORTS];
 
 static struct rte_eth_conf port_conf = {
-	.rxmode = {
-		.split_hdr_size = 0,
-	},
 	.txmode = {
 		.mq_mode = RTE_ETH_MQ_TX_NONE,
 	},
diff --git a/examples/link_status_interrupt/main.c b/examples/link_status_interrupt/main.c
index 9699e14ce6..4ac53c42a0 100644
--- a/examples/link_status_interrupt/main.c
+++ b/examples/link_status_interrupt/main.c
@@ -78,9 +78,6 @@ struct rte_eth_dev_tx_buffer *tx_buffer[RTE_MAX_ETHPORTS];
 
 /* Global configuration stored in a static structure. 8< */
 static struct rte_eth_conf port_conf = {
-	.rxmode = {
-		.split_hdr_size = 0,
-	},
 	.txmode = {
 		.mq_mode = RTE_ETH_MQ_TX_NONE,
 	},
diff --git a/examples/multi_process/symmetric_mp/main.c b/examples/multi_process/symmetric_mp/main.c
index 75237dee6e..1ff85875df 100644
--- a/examples/multi_process/symmetric_mp/main.c
+++ b/examples/multi_process/symmetric_mp/main.c
@@ -176,7 +176,6 @@ smp_port_init(uint16_t port, struct rte_mempool *mbuf_pool,
 	struct rte_eth_conf port_conf = {
 			.rxmode = {
 				.mq_mode	= RTE_ETH_MQ_RX_RSS,
-				.split_hdr_size = 0,
 				.offloads = RTE_ETH_RX_OFFLOAD_CHECKSUM,
 			},
 			.rx_adv_conf = {
diff --git a/examples/ntb/ntb_fwd.c b/examples/ntb/ntb_fwd.c
index 81964d0308..8cfee864af 100644
--- a/examples/ntb/ntb_fwd.c
+++ b/examples/ntb/ntb_fwd.c
@@ -90,7 +90,6 @@ static uint16_t pkt_burst = NTB_DFLT_PKT_BURST;
 static struct rte_eth_conf eth_port_conf = {
 	.rxmode = {
 		.mq_mode = RTE_ETH_MQ_RX_RSS,
-		.split_hdr_size = 0,
 	},
 	.rx_adv_conf = {
 		.rss_conf = {
diff --git a/examples/pipeline/obj.c b/examples/pipeline/obj.c
index b79f044ac7..908b66274a 100644
--- a/examples/pipeline/obj.c
+++ b/examples/pipeline/obj.c
@@ -129,7 +129,6 @@ static struct rte_eth_conf port_conf_default = {
 	.rxmode = {
 		.mq_mode = RTE_ETH_MQ_RX_NONE,
 		.mtu = 9000 - (RTE_ETHER_HDR_LEN + RTE_ETHER_CRC_LEN), /* Jumbo frame MTU */
-		.split_hdr_size = 0, /* Header split buffer size */
 	},
 	.rx_adv_conf = {
 		.rss_conf = {
diff --git a/examples/qos_meter/main.c b/examples/qos_meter/main.c
index a0f78e4ad6..319d0a96b2 100644
--- a/examples/qos_meter/main.c
+++ b/examples/qos_meter/main.c
@@ -52,7 +52,6 @@ static struct rte_mempool *pool = NULL;
 static struct rte_eth_conf port_conf = {
 	.rxmode = {
 		.mq_mode	= RTE_ETH_MQ_RX_RSS,
-		.split_hdr_size = 0,
 		.offloads = RTE_ETH_RX_OFFLOAD_CHECKSUM,
 	},
 	.rx_adv_conf = {
diff --git a/examples/qos_sched/init.c b/examples/qos_sched/init.c
index 8a0fb8a374..6bd342aba2 100644
--- a/examples/qos_sched/init.c
+++ b/examples/qos_sched/init.c
@@ -56,9 +56,6 @@ int mp_size = NB_MBUF;
 struct flow_conf qos_conf[MAX_DATA_STREAMS];
 
 static struct rte_eth_conf port_conf = {
-	.rxmode = {
-		.split_hdr_size = 0,
-	},
 	.txmode = {
 		.mq_mode = RTE_ETH_MQ_TX_NONE,
 	},
diff --git a/examples/vhost/main.c b/examples/vhost/main.c
index 7e1666f42a..504f5540ae 100644
--- a/examples/vhost/main.c
+++ b/examples/vhost/main.c
@@ -125,7 +125,6 @@ static struct vhost_queue_ops vdev_queue_ops[RTE_MAX_VHOST_DEVICE];
 static struct rte_eth_conf vmdq_conf_default = {
 	.rxmode = {
 		.mq_mode        = RTE_ETH_MQ_RX_VMDQ_ONLY,
-		.split_hdr_size = 0,
 		/*
 		 * VLAN strip is necessary for 1G NIC such as I350,
 		 * this fixes bug of ipv4 forwarding in guest can't
diff --git a/lib/ethdev/rte_ethdev.c b/lib/ethdev/rte_ethdev.c
index 1979dc0850..ba6e8801bf 100644
--- a/lib/ethdev/rte_ethdev.c
+++ b/lib/ethdev/rte_ethdev.c
@@ -92,7 +92,6 @@ static const struct {
 	RTE_RX_OFFLOAD_BIT2STR(QINQ_STRIP),
 	RTE_RX_OFFLOAD_BIT2STR(OUTER_IPV4_CKSUM),
 	RTE_RX_OFFLOAD_BIT2STR(MACSEC_STRIP),
-	RTE_RX_OFFLOAD_BIT2STR(HEADER_SPLIT),
 	RTE_RX_OFFLOAD_BIT2STR(VLAN_FILTER),
 	RTE_RX_OFFLOAD_BIT2STR(VLAN_EXTEND),
 	RTE_RX_OFFLOAD_BIT2STR(SCATTER),
diff --git a/lib/ethdev/rte_ethdev.h b/lib/ethdev/rte_ethdev.h
index de9e970d4d..1aaaa613b0 100644
--- a/lib/ethdev/rte_ethdev.h
+++ b/lib/ethdev/rte_ethdev.h
@@ -471,7 +471,6 @@ struct rte_eth_rxmode {
 	uint32_t mtu;  /**< Requested MTU. */
 	/** Maximum allowed size of LRO aggregated packet. */
 	uint32_t max_lro_pkt_size;
-	uint16_t split_hdr_size;  /**< hdr buf size (header_split enabled).*/
 	/**
 	 * Per-port Rx offloads to be set using RTE_ETH_RX_OFFLOAD_* flags.
 	 * Only offloads set on rx_offload_capa field on rte_eth_dev_info
@@ -1617,7 +1616,6 @@ struct rte_eth_conf {
 #define RTE_ETH_RX_OFFLOAD_QINQ_STRIP       RTE_BIT64(5)
 #define RTE_ETH_RX_OFFLOAD_OUTER_IPV4_CKSUM RTE_BIT64(6)
 #define RTE_ETH_RX_OFFLOAD_MACSEC_STRIP     RTE_BIT64(7)
-#define RTE_ETH_RX_OFFLOAD_HEADER_SPLIT     RTE_BIT64(8)
 #define RTE_ETH_RX_OFFLOAD_VLAN_FILTER      RTE_BIT64(9)
 #define RTE_ETH_RX_OFFLOAD_VLAN_EXTEND      RTE_BIT64(10)
 #define RTE_ETH_RX_OFFLOAD_SCATTER          RTE_BIT64(13)
@@ -1642,7 +1640,6 @@ struct rte_eth_conf {
 #define DEV_RX_OFFLOAD_QINQ_STRIP       RTE_DEPRECATED(DEV_RX_OFFLOAD_QINQ_STRIP)       RTE_ETH_RX_OFFLOAD_QINQ_STRIP
 #define DEV_RX_OFFLOAD_OUTER_IPV4_CKSUM RTE_DEPRECATED(DEV_RX_OFFLOAD_OUTER_IPV4_CKSUM) RTE_ETH_RX_OFFLOAD_OUTER_IPV4_CKSUM
 #define DEV_RX_OFFLOAD_MACSEC_STRIP     RTE_DEPRECATED(DEV_RX_OFFLOAD_MACSEC_STRIP)     RTE_ETH_RX_OFFLOAD_MACSEC_STRIP
-#define DEV_RX_OFFLOAD_HEADER_SPLIT     RTE_DEPRECATED(DEV_RX_OFFLOAD_HEADER_SPLIT)     RTE_ETH_RX_OFFLOAD_HEADER_SPLIT
 #define DEV_RX_OFFLOAD_VLAN_FILTER      RTE_DEPRECATED(DEV_RX_OFFLOAD_VLAN_FILTER)      RTE_ETH_RX_OFFLOAD_VLAN_FILTER
 #define DEV_RX_OFFLOAD_VLAN_EXTEND      RTE_DEPRECATED(DEV_RX_OFFLOAD_VLAN_EXTEND)      RTE_ETH_RX_OFFLOAD_VLAN_EXTEND
 #define DEV_RX_OFFLOAD_SCATTER          RTE_DEPRECATED(DEV_RX_OFFLOAD_SCATTER)          RTE_ETH_RX_OFFLOAD_SCATTER
-- 
2.17.1


             reply	other threads:[~2022-08-11  9:21 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-11  9:20 xuan.ding [this message]
2022-08-12  3:13 ` [PATCH v2] ethdev: remove header split Rx offload xuan.ding
2022-09-13  7:38   ` Andrew Rybchenko
2022-09-15  8:12     ` Ding, Xuan
2022-10-04  9:21     ` Andrew Rybchenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220811092028.99919-1-xuan.ding@intel.com \
    --to=xuan.ding@intel.com \
    --cc=aman.deep.singh@intel.com \
    --cc=anatoly.burakov@intel.com \
    --cc=andrew.rybchenko@oktetlabs.ru \
    --cc=beilei.xing@intel.com \
    --cc=bruce.richardson@intel.com \
    --cc=chas3@att.com \
    --cc=chenbo.xia@intel.com \
    --cc=cristian.dumitrescu@intel.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@xilinx.com \
    --cc=gakhil@marvell.com \
    --cc=grive@u256.net \
    --cc=humin29@huawei.com \
    --cc=jasvinder.singh@intel.com \
    --cc=jerinj@marvell.com \
    --cc=jingjing.wu@intel.com \
    --cc=junfeng.guo@intel.com \
    --cc=kirankumark@marvell.com \
    --cc=konstantin.v.ananyev@yandex.ru \
    --cc=lironh@marvell.com \
    --cc=maxime.coquelin@redhat.com \
    --cc=mczekaj@marvell.com \
    --cc=mdr@ashroe.eu \
    --cc=ndabilpuram@marvell.com \
    --cc=orika@nvidia.com \
    --cc=pbhagavatula@marvell.com \
    --cc=qi.z.zhang@intel.com \
    --cc=qiming.yang@intel.com \
    --cc=radu.nicolau@intel.com \
    --cc=skori@marvell.com \
    --cc=skoteshwar@marvell.com \
    --cc=thomas@monjalon.net \
    --cc=viacheslavo@nvidia.com \
    --cc=wenjun1.wu@intel.com \
    --cc=xiao.w.wang@intel.com \
    --cc=yuying.zhang@intel.com \
    --cc=zr@semihalf.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.