All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Xu, Rosen" <rosen.xu@intel.com>
To: "Yigit, Ferruh" <ferruh.yigit@intel.com>,
	Jerin Jacob <jerinj@marvell.com>,
	"Li, Xiaoyun" <xiaoyun.li@intel.com>,
	Ajit Khaparde <ajit.khaparde@broadcom.com>,
	Somnath Kotur <somnath.kotur@broadcom.com>,
	Igor Russkikh <irusskikh@marvell.com>,
	Somalapuram Amaranath <asomalap@amd.com>,
	Rasesh Mody <rmody@marvell.com>,
	Shahed Shaikh <shshaikh@marvell.com>,
	Chas Williams <chas3@att.com>,
	"Min Hu (Connor)" <humin29@huawei.com>,
	Nithin Dabilpuram <ndabilpuram@marvell.com>,
	"Kiran Kumar K" <kirankumark@marvell.com>,
	Sunil Kumar Kori <skori@marvell.com>,
	Satha Rao <skoteshwar@marvell.com>,
	Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>,
	Hemant Agrawal <hemant.agrawal@nxp.com>,
	Sachin Saxena <sachin.saxena@oss.nxp.com>,
	"Wang, Haiyue" <haiyue.wang@intel.com>,
	Marcin Wojtas <mw@semihalf.com>,
	Michal Krawczyk <mk@semihalf.com>,
	Shai Brandes <shaibran@amazon.com>,
	Evgeny Schemeilin <evgenys@amazon.com>,
	Igor Chauskin <igorch@amazon.com>,
	Gagandeep Singh <g.singh@nxp.com>,
	"Daley, John" <johndale@cisco.com>,
	Hyong Youb Kim <hyonkim@cisco.com>, Gaetan Rivet <grive@u256.net>,
	"Zhang, Qi Z" <qi.z.zhang@intel.com>,
	"Wang, Xiao W" <xiao.w.wang@intel.com>,
	Ziyang Xuan <xuanziyang2@huawei.com>,
	Xiaoyun Wang <cloud.wangxiaoyun@huawei.com>,
	Guoyang Zhou <zhouguoyang@huawei.com>,
	Yisen Zhuang <yisen.zhuang@huawei.com>,
	Lijun Ou <oulijun@huawei.com>,
	"Xing, Beilei" <beilei.xing@intel.com>,
	"Wu, Jingjing" <jingjing.wu@intel.com>,
	"Yang, Qiming" <qiming.yang@intel.com>,
	Andrew Boyer <aboyer@pensando.io>,
	"Matan Azrad" <matan@nvidia.com>,
	Viacheslav Ovsiienko <viacheslavo@nvidia.com>,
	Zyta Szpak <zr@semihalf.com>, Liron Himi <lironh@marvell.com>,
	"Heinrich Kuhn" <heinrich.kuhn@corigine.com>,
	Harman Kalra <hkalra@marvell.com>,
	"Nalla Pradeep" <pnalla@marvell.com>,
	Radha Mohan Chintakuntla <radhac@marvell.com>,
	 Veerasenareddy Burru <vburru@marvell.com>,
	Devendra Singh Rawat <dsinghrawat@marvell.com>,
	Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>,
	Maciej Czekaj <mczekaj@marvell.com>,
	Jiawen Wu <jiawenwu@trustnetic.com>,
	Jian Wang <jianwang@trustnetic.com>,
	Maxime Coquelin <maxime.coquelin@redhat.com>,
	"Xia, Chenbo" <chenbo.xia@intel.com>,
	Yong Wang <yongwang@vmware.com>,
	"Ananyev, Konstantin" <konstantin.ananyev@intel.com>,
	"Nicolau, Radu" <radu.nicolau@intel.com>,
	Akhil Goyal <gakhil@marvell.com>,
	"Hunt, David" <david.hunt@intel.com>,
	"Mcnamara, John" <john.mcnamara@intel.com>,
	Thomas Monjalon <thomas@monjalon.net>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH v4 4/6] ethdev: remove jumbo offload flag
Date: Fri, 8 Oct 2021 08:38:29 +0000	[thread overview]
Message-ID: <BYAPR11MB2901756D12CD172C22930F4D89B29@BYAPR11MB2901.namprd11.prod.outlook.com> (raw)
In-Reply-To: <20211005171653.3700067-4-ferruh.yigit@intel.com>

Hi,

> -----Original Message-----
> From: Yigit, Ferruh <ferruh.yigit@intel.com>
> Sent: Wednesday, October 06, 2021 1:17
> To: Jerin Jacob <jerinj@marvell.com>; Li, Xiaoyun <xiaoyun.li@intel.com>;
> Ajit Khaparde <ajit.khaparde@broadcom.com>; Somnath Kotur
> <somnath.kotur@broadcom.com>; Igor Russkikh <irusskikh@marvell.com>;
> Somalapuram Amaranath <asomalap@amd.com>; Rasesh Mody
> <rmody@marvell.com>; Shahed Shaikh <shshaikh@marvell.com>; Chas
> Williams <chas3@att.com>; Min Hu (Connor) <humin29@huawei.com>;
> Nithin Dabilpuram <ndabilpuram@marvell.com>; Kiran Kumar K
> <kirankumark@marvell.com>; Sunil Kumar Kori <skori@marvell.com>; Satha
> Rao <skoteshwar@marvell.com>; Rahul Lakkireddy
> <rahul.lakkireddy@chelsio.com>; Hemant Agrawal
> <hemant.agrawal@nxp.com>; Sachin Saxena <sachin.saxena@oss.nxp.com>;
> Wang, Haiyue <haiyue.wang@intel.com>; Marcin Wojtas
> <mw@semihalf.com>; Michal Krawczyk <mk@semihalf.com>; Shai Brandes
> <shaibran@amazon.com>; Evgeny Schemeilin <evgenys@amazon.com>; Igor
> Chauskin <igorch@amazon.com>; Gagandeep Singh <g.singh@nxp.com>;
> Daley, John <johndale@cisco.com>; Hyong Youb Kim <hyonkim@cisco.com>;
> Gaetan Rivet <grive@u256.net>; Zhang, Qi Z <qi.z.zhang@intel.com>; Wang,
> Xiao W <xiao.w.wang@intel.com>; Ziyang Xuan <xuanziyang2@huawei.com>;
> Xiaoyun Wang <cloud.wangxiaoyun@huawei.com>; Guoyang Zhou
> <zhouguoyang@huawei.com>; Yisen Zhuang <yisen.zhuang@huawei.com>;
> Lijun Ou <oulijun@huawei.com>; Xing, Beilei <beilei.xing@intel.com>; Wu,
> Jingjing <jingjing.wu@intel.com>; Yang, Qiming <qiming.yang@intel.com>;
> Andrew Boyer <aboyer@pensando.io>; Xu, Rosen <rosen.xu@intel.com>;
> Matan Azrad <matan@nvidia.com>; Viacheslav Ovsiienko
> <viacheslavo@nvidia.com>; Zyta Szpak <zr@semihalf.com>; Liron Himi
> <lironh@marvell.com>; Heinrich Kuhn <heinrich.kuhn@corigine.com>;
> Harman Kalra <hkalra@marvell.com>; Nalla Pradeep <pnalla@marvell.com>;
> Radha Mohan Chintakuntla <radhac@marvell.com>; Veerasenareddy Burru
> <vburru@marvell.com>; Devendra Singh Rawat
> <dsinghrawat@marvell.com>; Andrew Rybchenko
> <andrew.rybchenko@oktetlabs.ru>; Maciej Czekaj <mczekaj@marvell.com>;
> Jiawen Wu <jiawenwu@trustnetic.com>; Jian Wang
> <jianwang@trustnetic.com>; Maxime Coquelin
> <maxime.coquelin@redhat.com>; Xia, Chenbo <chenbo.xia@intel.com>;
> Yong Wang <yongwang@vmware.com>; Ananyev, Konstantin
> <konstantin.ananyev@intel.com>; Nicolau, Radu <radu.nicolau@intel.com>;
> Akhil Goyal <gakhil@marvell.com>; Hunt, David <david.hunt@intel.com>;
> Mcnamara, John <john.mcnamara@intel.com>; Thomas Monjalon
> <thomas@monjalon.net>
> Cc: Yigit, Ferruh <ferruh.yigit@intel.com>; dev@dpdk.org
> Subject: [PATCH v4 4/6] ethdev: remove jumbo offload flag
> 
> Removing 'DEV_RX_OFFLOAD_JUMBO_FRAME' offload flag.
> 
> Instead of drivers announce this capability, application can deduct the
> capability by checking reported 'dev_info.max_mtu' or
> 'dev_info.max_rx_pktlen'.
> 
> And instead of application setting this flag explicitly to enable jumbo
> frames, this can be deduced by driver by comparing requested 'mtu' to
> 'RTE_ETHER_MTU'.
> 
> Removing this additional configuration for simplification.
> 
> Suggested-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
> Reviewed-by: Rosen Xu <rosen.xu@intel.com>
> Acked-by: Somnath Kotur <somnath.kotur@broadcom.com>
> ---
>  app/test-eventdev/test_pipeline_common.c      |  2 -
>  app/test-pmd/cmdline.c                        |  2 +-
>  app/test-pmd/config.c                         | 25 +---------
>  app/test-pmd/testpmd.c                        | 48 +------------------
>  app/test-pmd/testpmd.h                        |  2 +-
>  doc/guides/howto/debug_troubleshoot.rst       |  2 -
>  doc/guides/nics/bnxt.rst                      |  1 -
>  doc/guides/nics/features.rst                  |  3 +-
>  drivers/net/atlantic/atl_ethdev.c             |  1 -
>  drivers/net/axgbe/axgbe_ethdev.c              |  1 -
>  drivers/net/bnx2x/bnx2x_ethdev.c              |  1 -
>  drivers/net/bnxt/bnxt.h                       |  1 -
>  drivers/net/bnxt/bnxt_ethdev.c                | 10 +---
>  drivers/net/bonding/rte_eth_bond_pmd.c        |  8 ----
>  drivers/net/cnxk/cnxk_ethdev.h                |  5 +-
>  drivers/net/cnxk/cnxk_ethdev_ops.c            |  1 -
>  drivers/net/cxgbe/cxgbe.h                     |  1 -
>  drivers/net/cxgbe/cxgbe_ethdev.c              |  8 ----
>  drivers/net/cxgbe/sge.c                       |  5 +-
>  drivers/net/dpaa/dpaa_ethdev.c                |  2 -
>  drivers/net/dpaa2/dpaa2_ethdev.c              |  2 -
>  drivers/net/e1000/e1000_ethdev.h              |  4 +-
>  drivers/net/e1000/em_ethdev.c                 |  4 +-
>  drivers/net/e1000/em_rxtx.c                   | 19 +++-----
>  drivers/net/e1000/igb_rxtx.c                  |  3 +-
>  drivers/net/ena/ena_ethdev.c                  |  1 -
>  drivers/net/enetc/enetc_ethdev.c              |  3 +-
>  drivers/net/enic/enic_res.c                   |  1 -
>  drivers/net/failsafe/failsafe_ops.c           |  2 -
>  drivers/net/fm10k/fm10k_ethdev.c              |  1 -
>  drivers/net/hinic/hinic_pmd_ethdev.c          |  1 -
>  drivers/net/hns3/hns3_ethdev.c                |  1 -
>  drivers/net/hns3/hns3_ethdev_vf.c             |  1 -
>  drivers/net/i40e/i40e_ethdev.c                |  1 -
>  drivers/net/i40e/i40e_rxtx.c                  |  2 +-
>  drivers/net/iavf/iavf_ethdev.c                |  3 +-
>  drivers/net/ice/ice_dcf_ethdev.c              |  3 +-
>  drivers/net/ice/ice_dcf_vf_representor.c      |  1 -
>  drivers/net/ice/ice_ethdev.c                  |  1 -
>  drivers/net/ice/ice_rxtx.c                    |  3 +-
>  drivers/net/igc/igc_ethdev.h                  |  1 -
>  drivers/net/igc/igc_txrx.c                    |  2 +-
>  drivers/net/ionic/ionic_ethdev.c              |  1 -
>  drivers/net/ipn3ke/ipn3ke_representor.c       |  3 +-
>  drivers/net/ixgbe/ixgbe_ethdev.c              |  5 +-
>  drivers/net/ixgbe/ixgbe_pf.c                  |  9 +---
>  drivers/net/ixgbe/ixgbe_rxtx.c                |  3 +-
>  drivers/net/mlx4/mlx4_rxq.c                   |  1 -
>  drivers/net/mlx5/mlx5_rxq.c                   |  1 -
>  drivers/net/mvneta/mvneta_ethdev.h            |  3 +-
>  drivers/net/mvpp2/mrvl_ethdev.c               |  1 -
>  drivers/net/nfp/nfp_common.c                  |  6 +--
>  drivers/net/octeontx/octeontx_ethdev.h        |  1 -
>  drivers/net/octeontx2/otx2_ethdev.h           |  1 -
>  drivers/net/octeontx_ep/otx_ep_ethdev.c       |  3 +-
>  drivers/net/octeontx_ep/otx_ep_rxtx.c         |  6 ---
>  drivers/net/qede/qede_ethdev.c                |  1 -
>  drivers/net/sfc/sfc_rx.c                      |  2 -
>  drivers/net/thunderx/nicvf_ethdev.h           |  1 -
>  drivers/net/txgbe/txgbe_rxtx.c                |  1 -
>  drivers/net/virtio/virtio_ethdev.c            |  1 -
>  drivers/net/vmxnet3/vmxnet3_ethdev.c          |  1 -
>  examples/ip_fragmentation/main.c              |  3 +-
>  examples/ip_reassembly/main.c                 |  3 +-
>  examples/ipsec-secgw/ipsec-secgw.c            |  2 -
>  examples/ipv4_multicast/main.c                |  1 -
>  examples/kni/main.c                           |  5 --
>  examples/l3fwd-acl/main.c                     |  4 +-
>  examples/l3fwd-graph/main.c                   |  4 +-
>  examples/l3fwd-power/main.c                   |  4 +-
>  examples/l3fwd/main.c                         |  4 +-
>  .../performance-thread/l3fwd-thread/main.c    |  4 +-
>  examples/vhost/main.c                         |  5 +-
>  lib/ethdev/rte_ethdev.c                       | 26 +---------
>  lib/ethdev/rte_ethdev.h                       |  1 -
>  75 files changed, 47 insertions(+), 259 deletions(-)
> 
> diff --git a/app/test-eventdev/test_pipeline_common.c b/app/test-
> eventdev/test_pipeline_common.c
> index 5fcea74b4d43..2775e72c580d 100644
> --- a/app/test-eventdev/test_pipeline_common.c
> +++ b/app/test-eventdev/test_pipeline_common.c
> @@ -199,8 +199,6 @@ pipeline_ethdev_setup(struct evt_test *test, struct
> evt_options *opt)
> 
>  	port_conf.rxmode.mtu = opt->max_pkt_sz - RTE_ETHER_HDR_LEN -
>  		RTE_ETHER_CRC_LEN;
> -	if (port_conf.rxmode.mtu > RTE_ETHER_MTU)
> -		port_conf.rxmode.offloads |=
> DEV_RX_OFFLOAD_JUMBO_FRAME;
> 
>  	t->internal_port = 1;
>  	RTE_ETH_FOREACH_DEV(i) {
> diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
> index a677451073ae..117945c2c61e 100644
> --- a/app/test-pmd/cmdline.c
> +++ b/app/test-pmd/cmdline.c
> @@ -1923,7 +1923,7 @@ cmd_config_max_pkt_len_parsed(void
> *parsed_result,
>  			return;
>  		}
> 
> -		update_jumbo_frame_offload(port_id, res->value);
> +		update_mtu_from_frame_size(port_id, res->value);
>  	}
> 
>  	init_port_config();
> diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
> index db3eeffa0093..e890fadc716c 100644
> --- a/app/test-pmd/config.c
> +++ b/app/test-pmd/config.c
> @@ -1144,40 +1144,19 @@ port_reg_set(portid_t port_id, uint32_t reg_off,
> uint32_t reg_v)
>  void
>  port_mtu_set(portid_t port_id, uint16_t mtu)
>  {
> +	struct rte_port *port = &ports[port_id];
>  	int diag;
> -	struct rte_port *rte_port = &ports[port_id];
> -	struct rte_eth_dev_info dev_info;
> -	int ret;
> 
>  	if (port_id_is_invalid(port_id, ENABLED_WARN))
>  		return;
> 
> -	ret = eth_dev_info_get_print_err(port_id, &dev_info);
> -	if (ret != 0)
> -		return;
> -
> -	if (mtu > dev_info.max_mtu || mtu < dev_info.min_mtu) {
> -		fprintf(stderr,
> -			"Set MTU failed. MTU:%u is not in valid range,
> min:%u - max:%u\n",
> -			mtu, dev_info.min_mtu, dev_info.max_mtu);
> -		return;
> -	}
>  	diag = rte_eth_dev_set_mtu(port_id, mtu);
>  	if (diag != 0) {
>  		fprintf(stderr, "Set MTU failed. diag=%d\n", diag);
>  		return;
>  	}
> 
> -	rte_port->dev_conf.rxmode.mtu = mtu;
> -
> -	if (dev_info.rx_offload_capa & DEV_RX_OFFLOAD_JUMBO_FRAME) {
> -		if (mtu > RTE_ETHER_MTU)
> -			rte_port->dev_conf.rxmode.offloads |=
> -
> 	DEV_RX_OFFLOAD_JUMBO_FRAME;
> -		else
> -			rte_port->dev_conf.rxmode.offloads &=
> -
> 	~DEV_RX_OFFLOAD_JUMBO_FRAME;
> -	}
> +	port->dev_conf.rxmode.mtu = mtu;
>  }
> 
>  /* Generic flow management functions. */
> diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c
> index 8c23cfe7c3da..d2a2a9ac6cda 100644
> --- a/app/test-pmd/testpmd.c
> +++ b/app/test-pmd/testpmd.c
> @@ -1503,12 +1503,6 @@ init_config_port_offloads(portid_t pid, uint32_t
> socket_id)
>  	if (ret != 0)
>  		rte_exit(EXIT_FAILURE, "rte_eth_dev_info_get() failed\n");
> 
> -	ret = update_jumbo_frame_offload(pid, 0);
> -	if (ret != 0)
> -		fprintf(stderr,
> -			"Updating jumbo frame offload failed for port %u\n",
> -			pid);
> -
>  	if (!(port->dev_info.tx_offload_capa &
> DEV_TX_OFFLOAD_MBUF_FAST_FREE))
>  		port->dev_conf.txmode.offloads &=
>  			~DEV_TX_OFFLOAD_MBUF_FAST_FREE;
> @@ -3463,24 +3457,18 @@ rxtx_port_config(struct rte_port *port)
>  }
> 
>  /*
> - * Helper function to arrange max_rx_pktlen value and JUMBO_FRAME
> offload,
> - * MTU is also aligned.
> + * Helper function to set MTU from frame size
>   *
>   * port->dev_info should be set before calling this function.
>   *
> - * if 'max_rx_pktlen' is zero, it is set to current device value, "MTU +
> - * ETH_OVERHEAD". This is useful to update flags but not MTU value.
> - *
>   * return 0 on success, negative on error
>   */
>  int
> -update_jumbo_frame_offload(portid_t portid, uint32_t max_rx_pktlen)
> +update_mtu_from_frame_size(portid_t portid, uint32_t max_rx_pktlen)
>  {
>  	struct rte_port *port = &ports[portid];
>  	uint32_t eth_overhead;
> -	uint64_t rx_offloads;
>  	uint16_t mtu, new_mtu;
> -	bool on;
> 
>  	eth_overhead = get_eth_overhead(&port->dev_info);
> 
> @@ -3489,40 +3477,8 @@ update_jumbo_frame_offload(portid_t portid,
> uint32_t max_rx_pktlen)
>  		return -1;
>  	}
> 
> -	if (max_rx_pktlen == 0)
> -		max_rx_pktlen = mtu + eth_overhead;
> -
> -	rx_offloads = port->dev_conf.rxmode.offloads;
>  	new_mtu = max_rx_pktlen - eth_overhead;
> 
> -	if (new_mtu <= RTE_ETHER_MTU) {
> -		rx_offloads &= ~DEV_RX_OFFLOAD_JUMBO_FRAME;
> -		on = false;
> -	} else {
> -		if ((port->dev_info.rx_offload_capa &
> DEV_RX_OFFLOAD_JUMBO_FRAME) == 0) {
> -			fprintf(stderr,
> -				"Frame size (%u) is not supported by
> port %u\n",
> -				max_rx_pktlen, portid);
> -			return -1;
> -		}
> -		rx_offloads |= DEV_RX_OFFLOAD_JUMBO_FRAME;
> -		on = true;
> -	}
> -
> -	if (rx_offloads != port->dev_conf.rxmode.offloads) {
> -		uint16_t qid;
> -
> -		port->dev_conf.rxmode.offloads = rx_offloads;
> -
> -		/* Apply JUMBO_FRAME offload configuration to Rx queue(s)
> */
> -		for (qid = 0; qid < port->dev_info.nb_rx_queues; qid++) {
> -			if (on)
> -				port->rx_conf[qid].offloads |=
> DEV_RX_OFFLOAD_JUMBO_FRAME;
> -			else
> -				port->rx_conf[qid].offloads &=
> ~DEV_RX_OFFLOAD_JUMBO_FRAME;
> -		}
> -	}
> -
>  	if (mtu == new_mtu)
>  		return 0;
> 
> diff --git a/app/test-pmd/testpmd.h b/app/test-pmd/testpmd.h
> index 17562215c733..eed9d031fd9a 100644
> --- a/app/test-pmd/testpmd.h
> +++ b/app/test-pmd/testpmd.h
> @@ -1022,7 +1022,7 @@ uint16_t tx_pkt_set_dynf(uint16_t port_id,
> __rte_unused uint16_t queue,
>  			 __rte_unused void *user_param);
>  void add_tx_dynf_callback(portid_t portid);
>  void remove_tx_dynf_callback(portid_t portid);
> -int update_jumbo_frame_offload(portid_t portid, uint32_t max_rx_pktlen);
> +int update_mtu_from_frame_size(portid_t portid, uint32_t max_rx_pktlen);
> 
>  /*
>   * Work-around of a compilation error with ICC on invocations of the
> diff --git a/doc/guides/howto/debug_troubleshoot.rst
> b/doc/guides/howto/debug_troubleshoot.rst
> index 457ac441429a..df69fa8bcc24 100644
> --- a/doc/guides/howto/debug_troubleshoot.rst
> +++ b/doc/guides/howto/debug_troubleshoot.rst
> @@ -71,8 +71,6 @@ RX Port and associated core :numref:`dtg_rx_rate`.
>     * Identify if port Speed and Duplex is matching to desired values with
>       ``rte_eth_link_get``.
> 
> -   * Check ``DEV_RX_OFFLOAD_JUMBO_FRAME`` is set with
> ``rte_eth_dev_info_get``.
> -
>     * Check promiscuous mode if the drops do not occur for unique MAC
> address
>       with ``rte_eth_promiscuous_get``.
> 
> diff --git a/doc/guides/nics/bnxt.rst b/doc/guides/nics/bnxt.rst
> index e75f4fa9e3bc..8f10c6c78a1f 100644
> --- a/doc/guides/nics/bnxt.rst
> +++ b/doc/guides/nics/bnxt.rst
> @@ -885,7 +885,6 @@ processing. This improved performance is derived
> from a number of optimizations:
> 
>         DEV_RX_OFFLOAD_VLAN_STRIP
>         DEV_RX_OFFLOAD_KEEP_CRC
> -       DEV_RX_OFFLOAD_JUMBO_FRAME
>         DEV_RX_OFFLOAD_IPV4_CKSUM
>         DEV_RX_OFFLOAD_UDP_CKSUM
>         DEV_RX_OFFLOAD_TCP_CKSUM
> diff --git a/doc/guides/nics/features.rst b/doc/guides/nics/features.rst
> index 483cb7da576f..9580445828bf 100644
> --- a/doc/guides/nics/features.rst
> +++ b/doc/guides/nics/features.rst
> @@ -165,8 +165,7 @@ Jumbo frame
> 
>  Supports Rx jumbo frames.
> 
> -* **[uses]    rte_eth_rxconf,rte_eth_rxmode**:
> ``offloads:DEV_RX_OFFLOAD_JUMBO_FRAME``.
> -  ``dev_conf.rxmode.mtu``.
> +* **[uses]    rte_eth_rxconf,rte_eth_rxmode**: ``dev_conf.rxmode.mtu``.
>  * **[related] rte_eth_dev_info**: ``max_rx_pktlen``.
>  * **[related] API**: ``rte_eth_dev_set_mtu()``.
> 
> diff --git a/drivers/net/atlantic/atl_ethdev.c
> b/drivers/net/atlantic/atl_ethdev.c
> index 3f654c071566..5a198f53fce7 100644
> --- a/drivers/net/atlantic/atl_ethdev.c
> +++ b/drivers/net/atlantic/atl_ethdev.c
> @@ -158,7 +158,6 @@ static struct rte_pci_driver rte_atl_pmd = {
>  			| DEV_RX_OFFLOAD_IPV4_CKSUM \
>  			| DEV_RX_OFFLOAD_UDP_CKSUM \
>  			| DEV_RX_OFFLOAD_TCP_CKSUM \
> -			| DEV_RX_OFFLOAD_JUMBO_FRAME \
>  			| DEV_RX_OFFLOAD_MACSEC_STRIP \
>  			| DEV_RX_OFFLOAD_VLAN_FILTER)
> 
> diff --git a/drivers/net/axgbe/axgbe_ethdev.c
> b/drivers/net/axgbe/axgbe_ethdev.c
> index c36cd7b1d2f0..0bc9e5eeeb10 100644
> --- a/drivers/net/axgbe/axgbe_ethdev.c
> +++ b/drivers/net/axgbe/axgbe_ethdev.c
> @@ -1217,7 +1217,6 @@ axgbe_dev_info_get(struct rte_eth_dev *dev,
> struct rte_eth_dev_info *dev_info)
>  		DEV_RX_OFFLOAD_IPV4_CKSUM |
>  		DEV_RX_OFFLOAD_UDP_CKSUM  |
>  		DEV_RX_OFFLOAD_TCP_CKSUM  |
> -		DEV_RX_OFFLOAD_JUMBO_FRAME	|
>  		DEV_RX_OFFLOAD_SCATTER	  |
>  		DEV_RX_OFFLOAD_KEEP_CRC;
> 
> diff --git a/drivers/net/bnx2x/bnx2x_ethdev.c
> b/drivers/net/bnx2x/bnx2x_ethdev.c
> index 009a94e9a8fa..50ff04bb2241 100644
> --- a/drivers/net/bnx2x/bnx2x_ethdev.c
> +++ b/drivers/net/bnx2x/bnx2x_ethdev.c
> @@ -535,7 +535,6 @@ bnx2x_dev_infos_get(struct rte_eth_dev *dev, struct
> rte_eth_dev_info *dev_info)
>  	dev_info->max_rx_pktlen  = BNX2X_MAX_RX_PKT_LEN;
>  	dev_info->max_mac_addrs  = BNX2X_MAX_MAC_ADDRS;
>  	dev_info->speed_capa = ETH_LINK_SPEED_10G |
> ETH_LINK_SPEED_20G;
> -	dev_info->rx_offload_capa = DEV_RX_OFFLOAD_JUMBO_FRAME;
> 
>  	dev_info->rx_desc_lim.nb_max = MAX_RX_AVAIL;
>  	dev_info->rx_desc_lim.nb_min = MIN_RX_SIZE_NONTPA;
> diff --git a/drivers/net/bnxt/bnxt.h b/drivers/net/bnxt/bnxt.h
> index 5121d05da65f..6743cf92b0e6 100644
> --- a/drivers/net/bnxt/bnxt.h
> +++ b/drivers/net/bnxt/bnxt.h
> @@ -595,7 +595,6 @@ struct bnxt_rep_info {
>  				     DEV_RX_OFFLOAD_TCP_CKSUM | \
>  				     DEV_RX_OFFLOAD_OUTER_IPV4_CKSUM |
> \
>  				     DEV_RX_OFFLOAD_OUTER_UDP_CKSUM |
> \
> -				     DEV_RX_OFFLOAD_JUMBO_FRAME | \
>  				     DEV_RX_OFFLOAD_KEEP_CRC | \
>  				     DEV_RX_OFFLOAD_VLAN_EXTEND | \
>  				     DEV_RX_OFFLOAD_TCP_LRO | \
> diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
> index dc33b961320a..e9d04f354a39 100644
> --- a/drivers/net/bnxt/bnxt_ethdev.c
> +++ b/drivers/net/bnxt/bnxt_ethdev.c
> @@ -742,15 +742,10 @@ static int bnxt_start_nic(struct bnxt *bp)
>  	unsigned int i, j;
>  	int rc;
> 
> -	if (bp->eth_dev->data->mtu > RTE_ETHER_MTU) {
> -		bp->eth_dev->data->dev_conf.rxmode.offloads |=
> -			DEV_RX_OFFLOAD_JUMBO_FRAME;
> +	if (bp->eth_dev->data->mtu > RTE_ETHER_MTU)
>  		bp->flags |= BNXT_FLAG_JUMBO;
> -	} else {
> -		bp->eth_dev->data->dev_conf.rxmode.offloads &=
> -			~DEV_RX_OFFLOAD_JUMBO_FRAME;
> +	else
>  		bp->flags &= ~BNXT_FLAG_JUMBO;
> -	}
> 
>  	/* THOR does not support ring groups.
>  	 * But we will use the array to save RSS context IDs.
> @@ -1250,7 +1245,6 @@ bnxt_receive_function(struct rte_eth_dev
> *eth_dev)
>  	if (eth_dev->data->dev_conf.rxmode.offloads &
>  		~(DEV_RX_OFFLOAD_VLAN_STRIP |
>  		  DEV_RX_OFFLOAD_KEEP_CRC |
> -		  DEV_RX_OFFLOAD_JUMBO_FRAME |
>  		  DEV_RX_OFFLOAD_IPV4_CKSUM |
>  		  DEV_RX_OFFLOAD_UDP_CKSUM |
>  		  DEV_RX_OFFLOAD_TCP_CKSUM |
> diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c
> b/drivers/net/bonding/rte_eth_bond_pmd.c
> index 412acff42f65..2f3a1759419f 100644
> --- a/drivers/net/bonding/rte_eth_bond_pmd.c
> +++ b/drivers/net/bonding/rte_eth_bond_pmd.c
> @@ -1727,14 +1727,6 @@ slave_configure(struct rte_eth_dev
> *bonded_eth_dev,
>  	slave_eth_dev->data->dev_conf.rxmode.mtu =
>  			bonded_eth_dev->data->dev_conf.rxmode.mtu;
> 
> -	if (bonded_eth_dev->data->dev_conf.rxmode.offloads &
> -			DEV_RX_OFFLOAD_JUMBO_FRAME)
> -		slave_eth_dev->data->dev_conf.rxmode.offloads |=
> -				DEV_RX_OFFLOAD_JUMBO_FRAME;
> -	else
> -		slave_eth_dev->data->dev_conf.rxmode.offloads &=
> -				~DEV_RX_OFFLOAD_JUMBO_FRAME;
> -
>  	nb_rx_queues = bonded_eth_dev->data->nb_rx_queues;
>  	nb_tx_queues = bonded_eth_dev->data->nb_tx_queues;
> 
> diff --git a/drivers/net/cnxk/cnxk_ethdev.h
> b/drivers/net/cnxk/cnxk_ethdev.h
> index 10e05e6b5edd..fa8c48f1eeb0 100644
> --- a/drivers/net/cnxk/cnxk_ethdev.h
> +++ b/drivers/net/cnxk/cnxk_ethdev.h
> @@ -75,9 +75,8 @@
>  #define CNXK_NIX_RX_OFFLOAD_CAPA                                               \
>  	(DEV_RX_OFFLOAD_CHECKSUM | DEV_RX_OFFLOAD_SCTP_CKSUM |
> \
>  	 DEV_RX_OFFLOAD_OUTER_IPV4_CKSUM |
> DEV_RX_OFFLOAD_SCATTER |            \
> -	 DEV_RX_OFFLOAD_JUMBO_FRAME |
> DEV_RX_OFFLOAD_OUTER_UDP_CKSUM |         \
> -	 DEV_RX_OFFLOAD_RSS_HASH | DEV_RX_OFFLOAD_TIMESTAMP |
> \
> -	 DEV_RX_OFFLOAD_VLAN_STRIP)
> +	 DEV_RX_OFFLOAD_OUTER_UDP_CKSUM |
> DEV_RX_OFFLOAD_RSS_HASH |            \
> +	 DEV_RX_OFFLOAD_TIMESTAMP | DEV_RX_OFFLOAD_VLAN_STRIP)
> 
>  #define RSS_IPV4_ENABLE                                                        \
>  	(ETH_RSS_IPV4 | ETH_RSS_FRAG_IPV4 |
> ETH_RSS_NONFRAG_IPV4_UDP |         \
> diff --git a/drivers/net/cnxk/cnxk_ethdev_ops.c
> b/drivers/net/cnxk/cnxk_ethdev_ops.c
> index 349896f6a1bf..d0924df76152 100644
> --- a/drivers/net/cnxk/cnxk_ethdev_ops.c
> +++ b/drivers/net/cnxk/cnxk_ethdev_ops.c
> @@ -92,7 +92,6 @@ cnxk_nix_rx_burst_mode_get(struct rte_eth_dev
> *eth_dev, uint16_t queue_id,
>  		{DEV_RX_OFFLOAD_HEADER_SPLIT, " Header Split,"},
>  		{DEV_RX_OFFLOAD_VLAN_FILTER, " VLAN Filter,"},
>  		{DEV_RX_OFFLOAD_VLAN_EXTEND, " VLAN Extend,"},
> -		{DEV_RX_OFFLOAD_JUMBO_FRAME, " Jumbo Frame,"},
>  		{DEV_RX_OFFLOAD_SCATTER, " Scattered,"},
>  		{DEV_RX_OFFLOAD_TIMESTAMP, " Timestamp,"},
>  		{DEV_RX_OFFLOAD_SECURITY, " Security,"},
> diff --git a/drivers/net/cxgbe/cxgbe.h b/drivers/net/cxgbe/cxgbe.h
> index 7c89a028bf16..37625c5bfb69 100644
> --- a/drivers/net/cxgbe/cxgbe.h
> +++ b/drivers/net/cxgbe/cxgbe.h
> @@ -51,7 +51,6 @@
>  			   DEV_RX_OFFLOAD_IPV4_CKSUM | \
>  			   DEV_RX_OFFLOAD_UDP_CKSUM | \
>  			   DEV_RX_OFFLOAD_TCP_CKSUM | \
> -			   DEV_RX_OFFLOAD_JUMBO_FRAME | \
>  			   DEV_RX_OFFLOAD_SCATTER | \
>  			   DEV_RX_OFFLOAD_RSS_HASH)
> 
> diff --git a/drivers/net/cxgbe/cxgbe_ethdev.c
> b/drivers/net/cxgbe/cxgbe_ethdev.c
> index 70b879fed100..1374f32b6826 100644
> --- a/drivers/net/cxgbe/cxgbe_ethdev.c
> +++ b/drivers/net/cxgbe/cxgbe_ethdev.c
> @@ -661,14 +661,6 @@ int cxgbe_dev_rx_queue_setup(struct rte_eth_dev
> *eth_dev,
>  	if ((&rxq->fl) != NULL)
>  		rxq->fl.size = temp_nb_desc;
> 
> -	/* Set to jumbo mode if necessary */
> -	if (eth_dev->data->mtu > RTE_ETHER_MTU)
> -		eth_dev->data->dev_conf.rxmode.offloads |=
> -			DEV_RX_OFFLOAD_JUMBO_FRAME;
> -	else
> -		eth_dev->data->dev_conf.rxmode.offloads &=
> -			~DEV_RX_OFFLOAD_JUMBO_FRAME;
> -
>  	err = t4_sge_alloc_rxq(adapter, &rxq->rspq, false, eth_dev, msi_idx,
>  			       &rxq->fl, NULL,
>  			       is_pf4(adapter) ?
> diff --git a/drivers/net/cxgbe/sge.c b/drivers/net/cxgbe/sge.c
> index 830f5192474d..21b8fe61c9a7 100644
> --- a/drivers/net/cxgbe/sge.c
> +++ b/drivers/net/cxgbe/sge.c
> @@ -365,13 +365,10 @@ static unsigned int refill_fl_usembufs(struct
> adapter *adap, struct sge_fl *q,
>  	struct rte_mbuf *buf_bulk[n];
>  	int ret, i;
>  	struct rte_pktmbuf_pool_private *mbp_priv;
> -	u8 jumbo_en = rxq->rspq.eth_dev->data->dev_conf.rxmode.offloads
> &
> -		DEV_RX_OFFLOAD_JUMBO_FRAME;
> 
>  	/* Use jumbo mtu buffers if mbuf data room size can fit jumbo data.
> */
>  	mbp_priv = rte_mempool_get_priv(rxq->rspq.mb_pool);
> -	if (jumbo_en &&
> -	    ((mbp_priv->mbuf_data_room_size -
> RTE_PKTMBUF_HEADROOM) >= 9000))
> +	if ((mbp_priv->mbuf_data_room_size -
> RTE_PKTMBUF_HEADROOM) >= 9000)
>  		buf_size_idx = RX_LARGE_MTU_BUF;
> 
>  	ret = rte_mempool_get_bulk(rxq->rspq.mb_pool, (void *)buf_bulk,
> n);
> diff --git a/drivers/net/dpaa/dpaa_ethdev.c
> b/drivers/net/dpaa/dpaa_ethdev.c
> index 3172e3b2de87..defc072072af 100644
> --- a/drivers/net/dpaa/dpaa_ethdev.c
> +++ b/drivers/net/dpaa/dpaa_ethdev.c
> @@ -54,7 +54,6 @@
> 
>  /* Supported Rx offloads */
>  static uint64_t dev_rx_offloads_sup =
> -		DEV_RX_OFFLOAD_JUMBO_FRAME |
>  		DEV_RX_OFFLOAD_SCATTER;
> 
>  /* Rx offloads which cannot be disabled */
> @@ -592,7 +591,6 @@ dpaa_dev_rx_burst_mode_get(struct rte_eth_dev
> *dev,
>  		uint64_t flags;
>  		const char *output;
>  	} rx_offload_map[] = {
> -			{DEV_RX_OFFLOAD_JUMBO_FRAME, " Jumbo
> frame,"},
>  			{DEV_RX_OFFLOAD_SCATTER, " Scattered,"},
>  			{DEV_RX_OFFLOAD_IPV4_CKSUM, " IPV4 csum,"},
>  			{DEV_RX_OFFLOAD_UDP_CKSUM, " UDP csum,"},
> diff --git a/drivers/net/dpaa2/dpaa2_ethdev.c
> b/drivers/net/dpaa2/dpaa2_ethdev.c
> index c28f03641bbc..dc25eefb33b0 100644
> --- a/drivers/net/dpaa2/dpaa2_ethdev.c
> +++ b/drivers/net/dpaa2/dpaa2_ethdev.c
> @@ -44,7 +44,6 @@ static uint64_t dev_rx_offloads_sup =
>  		DEV_RX_OFFLOAD_OUTER_UDP_CKSUM |
>  		DEV_RX_OFFLOAD_VLAN_STRIP |
>  		DEV_RX_OFFLOAD_VLAN_FILTER |
> -		DEV_RX_OFFLOAD_JUMBO_FRAME |
>  		DEV_RX_OFFLOAD_TIMESTAMP;
> 
>  /* Rx offloads which cannot be disabled */
> @@ -298,7 +297,6 @@ dpaa2_dev_rx_burst_mode_get(struct rte_eth_dev
> *dev,
>  			{DEV_RX_OFFLOAD_OUTER_UDP_CKSUM, " Outer
> UDP csum,"},
>  			{DEV_RX_OFFLOAD_VLAN_STRIP, " VLAN strip,"},
>  			{DEV_RX_OFFLOAD_VLAN_FILTER, " VLAN filter,"},
> -			{DEV_RX_OFFLOAD_JUMBO_FRAME, " Jumbo
> frame,"},
>  			{DEV_RX_OFFLOAD_TIMESTAMP, " Timestamp,"},
>  			{DEV_RX_OFFLOAD_RSS_HASH, " RSS,"},
>  			{DEV_RX_OFFLOAD_SCATTER, " Scattered,"}
> diff --git a/drivers/net/e1000/e1000_ethdev.h
> b/drivers/net/e1000/e1000_ethdev.h
> index 3b4d9c3ee6f4..1ae78fe71f02 100644
> --- a/drivers/net/e1000/e1000_ethdev.h
> +++ b/drivers/net/e1000/e1000_ethdev.h
> @@ -468,8 +468,8 @@ void eth_em_rx_queue_release(void *rxq);
>  void em_dev_clear_queues(struct rte_eth_dev *dev);
>  void em_dev_free_queues(struct rte_eth_dev *dev);
> 
> -uint64_t em_get_rx_port_offloads_capa(struct rte_eth_dev *dev);
> -uint64_t em_get_rx_queue_offloads_capa(struct rte_eth_dev *dev);
> +uint64_t em_get_rx_port_offloads_capa(void);
> +uint64_t em_get_rx_queue_offloads_capa(void);
> 
>  int eth_em_rx_queue_setup(struct rte_eth_dev *dev, uint16_t rx_queue_id,
>  		uint16_t nb_rx_desc, unsigned int socket_id,
> diff --git a/drivers/net/e1000/em_ethdev.c
> b/drivers/net/e1000/em_ethdev.c
> index 6ebef55588bc..8a752eef52cf 100644
> --- a/drivers/net/e1000/em_ethdev.c
> +++ b/drivers/net/e1000/em_ethdev.c
> @@ -1083,8 +1083,8 @@ eth_em_infos_get(struct rte_eth_dev *dev, struct
> rte_eth_dev_info *dev_info)
>  	dev_info->max_rx_queues = 1;
>  	dev_info->max_tx_queues = 1;
> 
> -	dev_info->rx_queue_offload_capa =
> em_get_rx_queue_offloads_capa(dev);
> -	dev_info->rx_offload_capa = em_get_rx_port_offloads_capa(dev) |
> +	dev_info->rx_queue_offload_capa =
> em_get_rx_queue_offloads_capa();
> +	dev_info->rx_offload_capa = em_get_rx_port_offloads_capa() |
>  				    dev_info->rx_queue_offload_capa;
>  	dev_info->tx_queue_offload_capa =
> em_get_tx_queue_offloads_capa(dev);
>  	dev_info->tx_offload_capa = em_get_tx_port_offloads_capa(dev) |
> diff --git a/drivers/net/e1000/em_rxtx.c b/drivers/net/e1000/em_rxtx.c
> index dfd8f2fd0074..e061f80a906a 100644
> --- a/drivers/net/e1000/em_rxtx.c
> +++ b/drivers/net/e1000/em_rxtx.c
> @@ -1359,12 +1359,9 @@ em_reset_rx_queue(struct em_rx_queue *rxq)
>  }
> 
>  uint64_t
> -em_get_rx_port_offloads_capa(struct rte_eth_dev *dev)
> +em_get_rx_port_offloads_capa(void)
>  {
>  	uint64_t rx_offload_capa;
> -	uint32_t max_rx_pktlen;
> -
> -	max_rx_pktlen = em_get_max_pktlen(dev);
> 
>  	rx_offload_capa =
>  		DEV_RX_OFFLOAD_VLAN_STRIP  |
> @@ -1374,14 +1371,12 @@ em_get_rx_port_offloads_capa(struct
> rte_eth_dev *dev)
>  		DEV_RX_OFFLOAD_TCP_CKSUM   |
>  		DEV_RX_OFFLOAD_KEEP_CRC    |
>  		DEV_RX_OFFLOAD_SCATTER;
> -	if (max_rx_pktlen > RTE_ETHER_MAX_LEN)
> -		rx_offload_capa |= DEV_RX_OFFLOAD_JUMBO_FRAME;
> 
>  	return rx_offload_capa;
>  }
> 
>  uint64_t
> -em_get_rx_queue_offloads_capa(struct rte_eth_dev *dev)
> +em_get_rx_queue_offloads_capa(void)
>  {
>  	uint64_t rx_queue_offload_capa;
> 
> @@ -1390,7 +1385,7 @@ em_get_rx_queue_offloads_capa(struct
> rte_eth_dev *dev)
>  	 * capability be same to per port queue offloading capability
>  	 * for better convenience.
>  	 */
> -	rx_queue_offload_capa = em_get_rx_port_offloads_capa(dev);
> +	rx_queue_offload_capa = em_get_rx_port_offloads_capa();
> 
>  	return rx_queue_offload_capa;
>  }
> @@ -1839,7 +1834,7 @@ eth_em_rx_init(struct rte_eth_dev *dev)
>  		 * to avoid splitting packets that don't fit into
>  		 * one buffer.
>  		 */
> -		if (rxmode->offloads & DEV_RX_OFFLOAD_JUMBO_FRAME ||
> +		if (dev->data->mtu > RTE_ETHER_MTU ||
>  				rctl_bsize < RTE_ETHER_MAX_LEN) {
>  			if (!dev->data->scattered_rx)
>  				PMD_INIT_LOG(DEBUG, "forcing scatter
> mode");
> @@ -1874,14 +1869,14 @@ eth_em_rx_init(struct rte_eth_dev *dev)
>  	if ((hw->mac.type == e1000_ich9lan ||
>  			hw->mac.type == e1000_pch2lan ||
>  			hw->mac.type == e1000_ich10lan) &&
> -			rxmode->offloads &
> DEV_RX_OFFLOAD_JUMBO_FRAME) {
> +			dev->data->mtu > RTE_ETHER_MTU) {
>  		u32 rxdctl = E1000_READ_REG(hw, E1000_RXDCTL(0));
>  		E1000_WRITE_REG(hw, E1000_RXDCTL(0), rxdctl | 3);
>  		E1000_WRITE_REG(hw, E1000_ERT, 0x100 | (1 << 13));
>  	}
> 
>  	if (hw->mac.type == e1000_pch2lan) {
> -		if (rxmode->offloads & DEV_RX_OFFLOAD_JUMBO_FRAME)
> +		if (dev->data->mtu > RTE_ETHER_MTU)
>  			e1000_lv_jumbo_workaround_ich8lan(hw, TRUE);
>  		else
>  			e1000_lv_jumbo_workaround_ich8lan(hw, FALSE);
> @@ -1908,7 +1903,7 @@ eth_em_rx_init(struct rte_eth_dev *dev)
>  	/*
>  	 * Configure support of jumbo frames, if any.
>  	 */
> -	if (rxmode->offloads & DEV_RX_OFFLOAD_JUMBO_FRAME)
> +	if (dev->data->mtu > RTE_ETHER_MTU)
>  		rctl |= E1000_RCTL_LPE;
>  	else
>  		rctl &= ~E1000_RCTL_LPE;
> diff --git a/drivers/net/e1000/igb_rxtx.c b/drivers/net/e1000/igb_rxtx.c
> index e9a30d393bd7..dda4d2101adb 100644
> --- a/drivers/net/e1000/igb_rxtx.c
> +++ b/drivers/net/e1000/igb_rxtx.c
> @@ -1640,7 +1640,6 @@ igb_get_rx_port_offloads_capa(struct rte_eth_dev
> *dev)
>  			  DEV_RX_OFFLOAD_IPV4_CKSUM  |
>  			  DEV_RX_OFFLOAD_UDP_CKSUM   |
>  			  DEV_RX_OFFLOAD_TCP_CKSUM   |
> -			  DEV_RX_OFFLOAD_JUMBO_FRAME |
>  			  DEV_RX_OFFLOAD_KEEP_CRC    |
>  			  DEV_RX_OFFLOAD_SCATTER     |
>  			  DEV_RX_OFFLOAD_RSS_HASH;
> @@ -2344,7 +2343,7 @@ eth_igb_rx_init(struct rte_eth_dev *dev)
>  	 * Configure support of jumbo frames, if any.
>  	 */
>  	max_len = dev->data->mtu + E1000_ETH_OVERHEAD;
> -	if (dev->data->dev_conf.rxmode.offloads &
> DEV_RX_OFFLOAD_JUMBO_FRAME) {
> +	if ((dev->data->mtu & RTE_ETHER_MTU) != 0) {
>  		rctl |= E1000_RCTL_LPE;
> 
>  		/*
> diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c
> index 3a9d5031b262..6d1026d31951 100644
> --- a/drivers/net/ena/ena_ethdev.c
> +++ b/drivers/net/ena/ena_ethdev.c
> @@ -1918,7 +1918,6 @@ static int ena_infos_get(struct rte_eth_dev *dev,
>  			DEV_RX_OFFLOAD_UDP_CKSUM  |
>  			DEV_RX_OFFLOAD_TCP_CKSUM;
> 
> -	rx_feat |= DEV_RX_OFFLOAD_JUMBO_FRAME;
>  	tx_feat |= DEV_TX_OFFLOAD_MULTI_SEGS;
> 
>  	/* Inform framework about available features */
> diff --git a/drivers/net/enetc/enetc_ethdev.c
> b/drivers/net/enetc/enetc_ethdev.c
> index a7372c1787c7..6457677d300a 100644
> --- a/drivers/net/enetc/enetc_ethdev.c
> +++ b/drivers/net/enetc/enetc_ethdev.c
> @@ -210,8 +210,7 @@ enetc_dev_infos_get(struct rte_eth_dev *dev
> __rte_unused,
>  		(DEV_RX_OFFLOAD_IPV4_CKSUM |
>  		 DEV_RX_OFFLOAD_UDP_CKSUM |
>  		 DEV_RX_OFFLOAD_TCP_CKSUM |
> -		 DEV_RX_OFFLOAD_KEEP_CRC |
> -		 DEV_RX_OFFLOAD_JUMBO_FRAME);
> +		 DEV_RX_OFFLOAD_KEEP_CRC);
> 
>  	return 0;
>  }
> diff --git a/drivers/net/enic/enic_res.c b/drivers/net/enic/enic_res.c
> index 0493e096d031..c5777772a09e 100644
> --- a/drivers/net/enic/enic_res.c
> +++ b/drivers/net/enic/enic_res.c
> @@ -209,7 +209,6 @@ int enic_get_vnic_config(struct enic *enic)
>  		DEV_TX_OFFLOAD_TCP_TSO;
>  	enic->rx_offload_capa =
>  		DEV_RX_OFFLOAD_SCATTER |
> -		DEV_RX_OFFLOAD_JUMBO_FRAME |
>  		DEV_RX_OFFLOAD_VLAN_STRIP |
>  		DEV_RX_OFFLOAD_IPV4_CKSUM |
>  		DEV_RX_OFFLOAD_UDP_CKSUM |
> diff --git a/drivers/net/failsafe/failsafe_ops.c
> b/drivers/net/failsafe/failsafe_ops.c
> index 5ff33e03e034..47c5efe9ea77 100644
> --- a/drivers/net/failsafe/failsafe_ops.c
> +++ b/drivers/net/failsafe/failsafe_ops.c
> @@ -1193,7 +1193,6 @@ fs_dev_infos_get(struct rte_eth_dev *dev,
>  		DEV_RX_OFFLOAD_HEADER_SPLIT |
>  		DEV_RX_OFFLOAD_VLAN_FILTER |
>  		DEV_RX_OFFLOAD_VLAN_EXTEND |
> -		DEV_RX_OFFLOAD_JUMBO_FRAME |
>  		DEV_RX_OFFLOAD_SCATTER |
>  		DEV_RX_OFFLOAD_TIMESTAMP |
>  		DEV_RX_OFFLOAD_SECURITY |
> @@ -1211,7 +1210,6 @@ fs_dev_infos_get(struct rte_eth_dev *dev,
>  		DEV_RX_OFFLOAD_HEADER_SPLIT |
>  		DEV_RX_OFFLOAD_VLAN_FILTER |
>  		DEV_RX_OFFLOAD_VLAN_EXTEND |
> -		DEV_RX_OFFLOAD_JUMBO_FRAME |
>  		DEV_RX_OFFLOAD_SCATTER |
>  		DEV_RX_OFFLOAD_TIMESTAMP |
>  		DEV_RX_OFFLOAD_SECURITY |
> diff --git a/drivers/net/fm10k/fm10k_ethdev.c
> b/drivers/net/fm10k/fm10k_ethdev.c
> index 5e4b361ca6c0..093021246286 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)
>  			   DEV_RX_OFFLOAD_IPV4_CKSUM  |
>  			   DEV_RX_OFFLOAD_UDP_CKSUM   |
>  			   DEV_RX_OFFLOAD_TCP_CKSUM   |
> -			   DEV_RX_OFFLOAD_JUMBO_FRAME |
>  			   DEV_RX_OFFLOAD_HEADER_SPLIT |
>  			   DEV_RX_OFFLOAD_RSS_HASH);
>  }
> diff --git a/drivers/net/hinic/hinic_pmd_ethdev.c
> b/drivers/net/hinic/hinic_pmd_ethdev.c
> index 79987bec273c..4005414aeb71 100644
> --- a/drivers/net/hinic/hinic_pmd_ethdev.c
> +++ b/drivers/net/hinic/hinic_pmd_ethdev.c
> @@ -738,7 +738,6 @@ hinic_dev_infos_get(struct rte_eth_dev *dev, struct
> rte_eth_dev_info *info)
>  				DEV_RX_OFFLOAD_TCP_CKSUM |
>  				DEV_RX_OFFLOAD_VLAN_FILTER |
>  				DEV_RX_OFFLOAD_SCATTER |
> -				DEV_RX_OFFLOAD_JUMBO_FRAME |
>  				DEV_RX_OFFLOAD_TCP_LRO |
>  				DEV_RX_OFFLOAD_RSS_HASH;
> 
> diff --git a/drivers/net/hns3/hns3_ethdev.c
> b/drivers/net/hns3/hns3_ethdev.c
> index e1d465de8234..dbd4c54b18c6 100644
> --- a/drivers/net/hns3/hns3_ethdev.c
> +++ b/drivers/net/hns3/hns3_ethdev.c
> @@ -2691,7 +2691,6 @@ hns3_dev_infos_get(struct rte_eth_dev *eth_dev,
> struct rte_eth_dev_info *info)
>  				 DEV_RX_OFFLOAD_SCATTER |
>  				 DEV_RX_OFFLOAD_VLAN_STRIP |
>  				 DEV_RX_OFFLOAD_VLAN_FILTER |
> -				 DEV_RX_OFFLOAD_JUMBO_FRAME |
>  				 DEV_RX_OFFLOAD_RSS_HASH |
>  				 DEV_RX_OFFLOAD_TCP_LRO);
>  	info->tx_offload_capa = (DEV_TX_OFFLOAD_OUTER_IPV4_CKSUM |
> diff --git a/drivers/net/hns3/hns3_ethdev_vf.c
> b/drivers/net/hns3/hns3_ethdev_vf.c
> index 3438b3650de6..eee65ac77399 100644
> --- a/drivers/net/hns3/hns3_ethdev_vf.c
> +++ b/drivers/net/hns3/hns3_ethdev_vf.c
> @@ -944,7 +944,6 @@ hns3vf_dev_infos_get(struct rte_eth_dev *eth_dev,
> struct rte_eth_dev_info *info)
>  				 DEV_RX_OFFLOAD_SCATTER |
>  				 DEV_RX_OFFLOAD_VLAN_STRIP |
>  				 DEV_RX_OFFLOAD_VLAN_FILTER |
> -				 DEV_RX_OFFLOAD_JUMBO_FRAME |
>  				 DEV_RX_OFFLOAD_RSS_HASH |
>  				 DEV_RX_OFFLOAD_TCP_LRO);
>  	info->tx_offload_capa = (DEV_TX_OFFLOAD_OUTER_IPV4_CKSUM |
> diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
> index 2824592aa62e..6a64221778fa 100644
> --- a/drivers/net/i40e/i40e_ethdev.c
> +++ b/drivers/net/i40e/i40e_ethdev.c
> @@ -3760,7 +3760,6 @@ i40e_dev_info_get(struct rte_eth_dev *dev, struct
> rte_eth_dev_info *dev_info)
>  		DEV_RX_OFFLOAD_SCATTER |
>  		DEV_RX_OFFLOAD_VLAN_EXTEND |
>  		DEV_RX_OFFLOAD_VLAN_FILTER |
> -		DEV_RX_OFFLOAD_JUMBO_FRAME |
>  		DEV_RX_OFFLOAD_RSS_HASH;
> 
>  	dev_info->tx_queue_offload_capa =
> DEV_TX_OFFLOAD_MBUF_FAST_FREE;
> diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c
> index 1d27cf2b0a01..69c282baa723 100644
> --- a/drivers/net/i40e/i40e_rxtx.c
> +++ b/drivers/net/i40e/i40e_rxtx.c
> @@ -2911,7 +2911,7 @@ i40e_rx_queue_config(struct i40e_rx_queue *rxq)
>  	rxq->max_pkt_len =
>  		RTE_MIN(hw->func_caps.rx_buf_chain_len * rxq-
> >rx_buf_len,
>  				data->mtu + I40E_ETH_OVERHEAD);
> -	if (data->dev_conf.rxmode.offloads &
> DEV_RX_OFFLOAD_JUMBO_FRAME) {
> +	if (data->mtu > RTE_ETHER_MTU) {
>  		if (rxq->max_pkt_len <= I40E_ETH_MAX_LEN ||
>  			rxq->max_pkt_len > I40E_FRAME_SIZE_MAX) {
>  			PMD_DRV_LOG(ERR, "maximum packet length must "
> diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c
> index 2d43c666fdbb..2c4103ac7ef9 100644
> --- a/drivers/net/iavf/iavf_ethdev.c
> +++ b/drivers/net/iavf/iavf_ethdev.c
> @@ -588,7 +588,7 @@ iavf_init_rxq(struct rte_eth_dev *dev, struct
> iavf_rx_queue *rxq)
>  	/* Check if the jumbo frame and maximum packet length are set
>  	 * correctly.
>  	 */
> -	if (dev->data->dev_conf.rxmode.offloads &
> DEV_RX_OFFLOAD_JUMBO_FRAME) {
> +	if (dev->data->mtu & RTE_ETHER_MTU) {
>  		if (max_pkt_len <= IAVF_ETH_MAX_LEN ||
>  		    max_pkt_len > IAVF_FRAME_SIZE_MAX) {
>  			PMD_DRV_LOG(ERR, "maximum packet length must
> be "
> @@ -968,7 +968,6 @@ iavf_dev_info_get(struct rte_eth_dev *dev, struct
> rte_eth_dev_info *dev_info)
>  		DEV_RX_OFFLOAD_TCP_CKSUM |
>  		DEV_RX_OFFLOAD_OUTER_IPV4_CKSUM |
>  		DEV_RX_OFFLOAD_SCATTER |
> -		DEV_RX_OFFLOAD_JUMBO_FRAME |
>  		DEV_RX_OFFLOAD_VLAN_FILTER |
>  		DEV_RX_OFFLOAD_RSS_HASH;
> 
> diff --git a/drivers/net/ice/ice_dcf_ethdev.c
> b/drivers/net/ice/ice_dcf_ethdev.c
> index c3c7ad88f250..16f642566e91 100644
> --- a/drivers/net/ice/ice_dcf_ethdev.c
> +++ b/drivers/net/ice/ice_dcf_ethdev.c
> @@ -72,7 +72,7 @@ ice_dcf_init_rxq(struct rte_eth_dev *dev, struct
> ice_rx_queue *rxq)
>  	/* Check if the jumbo frame and maximum packet length are set
>  	 * correctly.
>  	 */
> -	if (dev->data->dev_conf.rxmode.offloads &
> DEV_RX_OFFLOAD_JUMBO_FRAME) {
> +	if (dev_data->mtu > RTE_ETHER_MTU) {
>  		if (max_pkt_len <= ICE_ETH_MAX_LEN ||
>  		    max_pkt_len > ICE_FRAME_SIZE_MAX) {
>  			PMD_DRV_LOG(ERR, "maximum packet length must
> be "
> @@ -683,7 +683,6 @@ ice_dcf_dev_info_get(struct rte_eth_dev *dev,
>  		DEV_RX_OFFLOAD_TCP_CKSUM |
>  		DEV_RX_OFFLOAD_OUTER_IPV4_CKSUM |
>  		DEV_RX_OFFLOAD_SCATTER |
> -		DEV_RX_OFFLOAD_JUMBO_FRAME |
>  		DEV_RX_OFFLOAD_VLAN_FILTER |
>  		DEV_RX_OFFLOAD_RSS_HASH;
>  	dev_info->tx_offload_capa =
> diff --git a/drivers/net/ice/ice_dcf_vf_representor.c
> b/drivers/net/ice/ice_dcf_vf_representor.c
> index b547c42f9137..d28fedc96e1a 100644
> --- a/drivers/net/ice/ice_dcf_vf_representor.c
> +++ b/drivers/net/ice/ice_dcf_vf_representor.c
> @@ -149,7 +149,6 @@ ice_dcf_vf_repr_dev_info_get(struct rte_eth_dev
> *dev,
>  		DEV_RX_OFFLOAD_TCP_CKSUM |
>  		DEV_RX_OFFLOAD_OUTER_IPV4_CKSUM |
>  		DEV_RX_OFFLOAD_SCATTER |
> -		DEV_RX_OFFLOAD_JUMBO_FRAME |
>  		DEV_RX_OFFLOAD_VLAN_FILTER |
>  		DEV_RX_OFFLOAD_VLAN_EXTEND |
>  		DEV_RX_OFFLOAD_RSS_HASH;
> diff --git a/drivers/net/ice/ice_ethdev.c b/drivers/net/ice/ice_ethdev.c
> index 703178c6d40c..17d30b735693 100644
> --- a/drivers/net/ice/ice_ethdev.c
> +++ b/drivers/net/ice/ice_ethdev.c
> @@ -3676,7 +3676,6 @@ ice_dev_info_get(struct rte_eth_dev *dev, struct
> rte_eth_dev_info *dev_info)
> 
>  	dev_info->rx_offload_capa =
>  		DEV_RX_OFFLOAD_VLAN_STRIP |
> -		DEV_RX_OFFLOAD_JUMBO_FRAME |
>  		DEV_RX_OFFLOAD_KEEP_CRC |
>  		DEV_RX_OFFLOAD_SCATTER |
>  		DEV_RX_OFFLOAD_VLAN_FILTER;
> diff --git a/drivers/net/ice/ice_rxtx.c b/drivers/net/ice/ice_rxtx.c
> index f9ef6ce57277..cc7908d32584 100644
> --- a/drivers/net/ice/ice_rxtx.c
> +++ b/drivers/net/ice/ice_rxtx.c
> @@ -267,7 +267,6 @@ ice_program_hw_rx_queue(struct ice_rx_queue *rxq)
>  	struct ice_rlan_ctx rx_ctx;
>  	enum ice_status err;
>  	uint16_t buf_size;
> -	struct rte_eth_rxmode *rxmode = &dev_data->dev_conf.rxmode;
>  	uint32_t rxdid = ICE_RXDID_COMMS_OVS;
>  	uint32_t regval;
>  	struct ice_adapter *ad = rxq->vsi->adapter;
> @@ -282,7 +281,7 @@ ice_program_hw_rx_queue(struct ice_rx_queue *rxq)
>  		RTE_MIN((uint32_t)ICE_SUPPORT_CHAIN_NUM * rxq-
> >rx_buf_len,
>  			frame_size);
> 
> -	if (rxmode->offloads & DEV_RX_OFFLOAD_JUMBO_FRAME) {
> +	if (dev_data->mtu > RTE_ETHER_MTU) {
>  		if (rxq->max_pkt_len <= ICE_ETH_MAX_LEN ||
>  		    rxq->max_pkt_len > ICE_FRAME_SIZE_MAX) {
>  			PMD_DRV_LOG(ERR, "maximum packet length must "
> diff --git a/drivers/net/igc/igc_ethdev.h b/drivers/net/igc/igc_ethdev.h
> index b3473b5b1646..5e6c2ff30157 100644
> --- a/drivers/net/igc/igc_ethdev.h
> +++ b/drivers/net/igc/igc_ethdev.h
> @@ -73,7 +73,6 @@ extern "C" {
>  	DEV_RX_OFFLOAD_UDP_CKSUM   | \
>  	DEV_RX_OFFLOAD_TCP_CKSUM   | \
>  	DEV_RX_OFFLOAD_SCTP_CKSUM  | \
> -	DEV_RX_OFFLOAD_JUMBO_FRAME | \
>  	DEV_RX_OFFLOAD_KEEP_CRC    | \
>  	DEV_RX_OFFLOAD_SCATTER     | \
>  	DEV_RX_OFFLOAD_RSS_HASH)
> diff --git a/drivers/net/igc/igc_txrx.c b/drivers/net/igc/igc_txrx.c
> index 28d3076439c3..30940857eac0 100644
> --- a/drivers/net/igc/igc_txrx.c
> +++ b/drivers/net/igc/igc_txrx.c
> @@ -1099,7 +1099,7 @@ igc_rx_init(struct rte_eth_dev *dev)
>  	IGC_WRITE_REG(hw, IGC_RCTL, rctl & ~IGC_RCTL_EN);
> 
>  	/* Configure support of jumbo frames, if any. */
> -	if ((offloads & DEV_RX_OFFLOAD_JUMBO_FRAME) != 0)
> +	if (dev->data->mtu & RTE_ETHER_MTU)
>  		rctl |= IGC_RCTL_LPE;
>  	else
>  		rctl &= ~IGC_RCTL_LPE;
> diff --git a/drivers/net/ionic/ionic_ethdev.c
> b/drivers/net/ionic/ionic_ethdev.c
> index 97447a10e46a..795980cb1ca5 100644
> --- a/drivers/net/ionic/ionic_ethdev.c
> +++ b/drivers/net/ionic/ionic_ethdev.c
> @@ -414,7 +414,6 @@ ionic_dev_info_get(struct rte_eth_dev *eth_dev,
>  		DEV_RX_OFFLOAD_IPV4_CKSUM |
>  		DEV_RX_OFFLOAD_UDP_CKSUM |
>  		DEV_RX_OFFLOAD_TCP_CKSUM |
> -		DEV_RX_OFFLOAD_JUMBO_FRAME |
>  		DEV_RX_OFFLOAD_VLAN_FILTER |
>  		DEV_RX_OFFLOAD_VLAN_STRIP |
>  		DEV_RX_OFFLOAD_SCATTER |
> diff --git a/drivers/net/ipn3ke/ipn3ke_representor.c
> b/drivers/net/ipn3ke/ipn3ke_representor.c
> index 377b96c0236a..4e5d234e8c7d 100644
> --- a/drivers/net/ipn3ke/ipn3ke_representor.c
> +++ b/drivers/net/ipn3ke/ipn3ke_representor.c
> @@ -74,8 +74,7 @@ ipn3ke_rpst_dev_infos_get(struct rte_eth_dev *ethdev,
>  		DEV_RX_OFFLOAD_TCP_CKSUM |
>  		DEV_RX_OFFLOAD_OUTER_IPV4_CKSUM |
>  		DEV_RX_OFFLOAD_VLAN_EXTEND |
> -		DEV_RX_OFFLOAD_VLAN_FILTER |
> -		DEV_RX_OFFLOAD_JUMBO_FRAME;
> +		DEV_RX_OFFLOAD_VLAN_FILTER;
> 
>  	dev_info->tx_queue_offload_capa =
> DEV_TX_OFFLOAD_MBUF_FAST_FREE;
>  	dev_info->tx_offload_capa =
> diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c
> b/drivers/net/ixgbe/ixgbe_ethdev.c
> index 574a7bffc9cb..3205c37c3b82 100644
> --- a/drivers/net/ixgbe/ixgbe_ethdev.c
> +++ b/drivers/net/ixgbe/ixgbe_ethdev.c
> @@ -6234,7 +6234,6 @@ ixgbe_set_queue_rate_limit(struct rte_eth_dev
> *dev,
>  			   uint16_t queue_idx, uint16_t tx_rate)
>  {
>  	struct ixgbe_hw *hw = IXGBE_DEV_PRIVATE_TO_HW(dev->data-
> >dev_private);
> -	struct rte_eth_rxmode *rxmode;
>  	uint32_t rf_dec, rf_int;
>  	uint32_t bcnrc_val;
>  	uint16_t link_speed = dev->data->dev_link.link_speed;
> @@ -6256,14 +6255,12 @@ ixgbe_set_queue_rate_limit(struct rte_eth_dev
> *dev,
>  		bcnrc_val = 0;
>  	}
> 
> -	rxmode = &dev->data->dev_conf.rxmode;
>  	/*
>  	 * Set global transmit compensation time to the MMW_SIZE in
> RTTBCNRM
>  	 * register. MMW_SIZE=0x014 if 9728-byte jumbo is supported,
> otherwise
>  	 * set as 0x4.
>  	 */
> -	if ((rxmode->offloads & DEV_RX_OFFLOAD_JUMBO_FRAME) &&
> -	    (dev->data->mtu + IXGBE_ETH_OVERHEAD >=
> IXGBE_MAX_JUMBO_FRAME_SIZE))
> +	if (dev->data->mtu + IXGBE_ETH_OVERHEAD >=
> IXGBE_MAX_JUMBO_FRAME_SIZE)
>  		IXGBE_WRITE_REG(hw, IXGBE_RTTBCNRM,
> IXGBE_MMW_SIZE_JUMBO_FRAME);
>  	else
>  		IXGBE_WRITE_REG(hw, IXGBE_RTTBCNRM,
> IXGBE_MMW_SIZE_DEFAULT);
> diff --git a/drivers/net/ixgbe/ixgbe_pf.c b/drivers/net/ixgbe/ixgbe_pf.c
> index 9bcbc445f2d0..6e64f9a0ade2 100644
> --- a/drivers/net/ixgbe/ixgbe_pf.c
> +++ b/drivers/net/ixgbe/ixgbe_pf.c
> @@ -600,15 +600,10 @@ ixgbe_set_vf_lpe(struct rte_eth_dev *dev, uint32_t
> vf, uint32_t *msgbuf)
>  		   IXGBE_MHADD_MFS_MASK) >> IXGBE_MHADD_MFS_SHIFT;
>  	if (max_frs < max_frame) {
>  		hlreg0 = IXGBE_READ_REG(hw, IXGBE_HLREG0);
> -		if (max_frame > IXGBE_ETH_MAX_LEN) {
> -			dev->data->dev_conf.rxmode.offloads |=
> -				DEV_RX_OFFLOAD_JUMBO_FRAME;
> +		if (max_frame > IXGBE_ETH_MAX_LEN)
>  			hlreg0 |= IXGBE_HLREG0_JUMBOEN;
> -		} else {
> -			dev->data->dev_conf.rxmode.offloads &=
> -				~DEV_RX_OFFLOAD_JUMBO_FRAME;
> +		else
>  			hlreg0 &= ~IXGBE_HLREG0_JUMBOEN;
> -		}
>  		IXGBE_WRITE_REG(hw, IXGBE_HLREG0, hlreg0);
> 
>  		max_frs = max_frame << IXGBE_MHADD_MFS_SHIFT;
> diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c
> index 03991711fd6e..c223ef37c79f 100644
> --- a/drivers/net/ixgbe/ixgbe_rxtx.c
> +++ b/drivers/net/ixgbe/ixgbe_rxtx.c
> @@ -3033,7 +3033,6 @@ ixgbe_get_rx_port_offloads(struct rte_eth_dev
> *dev)
>  		   DEV_RX_OFFLOAD_UDP_CKSUM   |
>  		   DEV_RX_OFFLOAD_TCP_CKSUM   |
>  		   DEV_RX_OFFLOAD_KEEP_CRC    |
> -		   DEV_RX_OFFLOAD_JUMBO_FRAME |
>  		   DEV_RX_OFFLOAD_VLAN_FILTER |
>  		   DEV_RX_OFFLOAD_SCATTER |
>  		   DEV_RX_OFFLOAD_RSS_HASH;
> @@ -5095,7 +5094,7 @@ ixgbe_dev_rx_init(struct rte_eth_dev *dev)
>  	/*
>  	 * Configure jumbo frame support, if any.
>  	 */
> -	if (rx_conf->offloads & DEV_RX_OFFLOAD_JUMBO_FRAME) {
> +	if ((dev->data->mtu & RTE_ETHER_MTU) != 0) {
>  		hlreg0 |= IXGBE_HLREG0_JUMBOEN;
>  		maxfrs = IXGBE_READ_REG(hw, IXGBE_MAXFRS);
>  		maxfrs &= 0x0000FFFF;
> diff --git a/drivers/net/mlx4/mlx4_rxq.c b/drivers/net/mlx4/mlx4_rxq.c
> index 4a5cfd22aa71..e73112c44749 100644
> --- a/drivers/net/mlx4/mlx4_rxq.c
> +++ b/drivers/net/mlx4/mlx4_rxq.c
> @@ -684,7 +684,6 @@ mlx4_get_rx_queue_offloads(struct mlx4_priv *priv)
>  {
>  	uint64_t offloads = DEV_RX_OFFLOAD_SCATTER |
>  			    DEV_RX_OFFLOAD_KEEP_CRC |
> -			    DEV_RX_OFFLOAD_JUMBO_FRAME |
>  			    DEV_RX_OFFLOAD_RSS_HASH;
> 
>  	if (priv->hw_csum)
> diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c
> index 6f4f351222d3..0cc3bccc0825 100644
> --- a/drivers/net/mlx5/mlx5_rxq.c
> +++ b/drivers/net/mlx5/mlx5_rxq.c
> @@ -335,7 +335,6 @@ mlx5_get_rx_queue_offloads(struct rte_eth_dev
> *dev)
>  	struct mlx5_dev_config *config = &priv->config;
>  	uint64_t offloads = (DEV_RX_OFFLOAD_SCATTER |
>  			     DEV_RX_OFFLOAD_TIMESTAMP |
> -			     DEV_RX_OFFLOAD_JUMBO_FRAME |
>  			     DEV_RX_OFFLOAD_RSS_HASH);
> 
>  	if (!config->mprq.enabled)
> diff --git a/drivers/net/mvneta/mvneta_ethdev.h
> b/drivers/net/mvneta/mvneta_ethdev.h
> index ef8067790f82..6428f9ff7931 100644
> --- a/drivers/net/mvneta/mvneta_ethdev.h
> +++ b/drivers/net/mvneta/mvneta_ethdev.h
> @@ -54,8 +54,7 @@
>  #define MRVL_NETA_MRU_TO_MTU(mru)	((mru) -
> MRVL_NETA_HDRS_LEN)
> 
>  /** Rx offloads capabilities */
> -#define MVNETA_RX_OFFLOADS (DEV_RX_OFFLOAD_JUMBO_FRAME | \
> -			    DEV_RX_OFFLOAD_CHECKSUM)
> +#define MVNETA_RX_OFFLOADS (DEV_RX_OFFLOAD_CHECKSUM)
> 
>  /** Tx offloads capabilities */
>  #define MVNETA_TX_OFFLOAD_CHECKSUM
> (DEV_TX_OFFLOAD_IPV4_CKSUM | \
> diff --git a/drivers/net/mvpp2/mrvl_ethdev.c
> b/drivers/net/mvpp2/mrvl_ethdev.c
> index 5ce71661c84e..ef987b7de1b5 100644
> --- a/drivers/net/mvpp2/mrvl_ethdev.c
> +++ b/drivers/net/mvpp2/mrvl_ethdev.c
> @@ -59,7 +59,6 @@
> 
>  /** Port Rx offload capabilities */
>  #define MRVL_RX_OFFLOADS (DEV_RX_OFFLOAD_VLAN_FILTER | \
> -			  DEV_RX_OFFLOAD_JUMBO_FRAME | \
>  			  DEV_RX_OFFLOAD_CHECKSUM)
> 
>  /** Port Tx offloads capabilities */
> diff --git a/drivers/net/nfp/nfp_common.c b/drivers/net/nfp/nfp_common.c
> index b1ce35b334da..a0bb5b9640c2 100644
> --- a/drivers/net/nfp/nfp_common.c
> +++ b/drivers/net/nfp/nfp_common.c
> @@ -369,8 +369,7 @@ nfp_check_offloads(struct rte_eth_dev *dev)
>  			ctrl |= NFP_NET_CFG_CTRL_RXVLAN;
>  	}
> 
> -	if (rxmode->offloads & DEV_RX_OFFLOAD_JUMBO_FRAME)
> -		hw->mtu = dev->data->mtu;
> +	hw->mtu = dev->data->mtu;
> 
>  	if (txmode->offloads & DEV_TX_OFFLOAD_VLAN_INSERT)
>  		ctrl |= NFP_NET_CFG_CTRL_TXVLAN;
> @@ -757,9 +756,6 @@ nfp_net_infos_get(struct rte_eth_dev *dev, struct
> rte_eth_dev_info *dev_info)
>  		.nb_mtu_seg_max = NFP_TX_MAX_MTU_SEG,
>  	};
> 
> -	/* All NFP devices support jumbo frames */
> -	dev_info->rx_offload_capa |= DEV_RX_OFFLOAD_JUMBO_FRAME;
> -
>  	if (hw->cap & NFP_NET_CFG_CTRL_RSS) {
>  		dev_info->rx_offload_capa |= DEV_RX_OFFLOAD_RSS_HASH;
> 
> diff --git a/drivers/net/octeontx/octeontx_ethdev.h
> b/drivers/net/octeontx/octeontx_ethdev.h
> index b73515de37ca..3a02824e3948 100644
> --- a/drivers/net/octeontx/octeontx_ethdev.h
> +++ b/drivers/net/octeontx/octeontx_ethdev.h
> @@ -60,7 +60,6 @@
> 
> DEV_RX_OFFLOAD_OUTER_IPV4_CKSUM | \
>  					 DEV_RX_OFFLOAD_SCATTER	         |
> \
>  					 DEV_RX_OFFLOAD_SCATTER
> 	 | \
> -					 DEV_RX_OFFLOAD_JUMBO_FRAME
> 	 | \
>  					 DEV_RX_OFFLOAD_VLAN_FILTER)
> 
>  #define OCTEONTX_TX_OFFLOADS		(
> 	   \
> diff --git a/drivers/net/octeontx2/otx2_ethdev.h
> b/drivers/net/octeontx2/otx2_ethdev.h
> index 7871e3d30bda..47ee126ed7fd 100644
> --- a/drivers/net/octeontx2/otx2_ethdev.h
> +++ b/drivers/net/octeontx2/otx2_ethdev.h
> @@ -148,7 +148,6 @@
>  	DEV_RX_OFFLOAD_SCTP_CKSUM	| \
>  	DEV_RX_OFFLOAD_OUTER_IPV4_CKSUM | \
>  	DEV_RX_OFFLOAD_SCATTER		| \
> -	DEV_RX_OFFLOAD_JUMBO_FRAME	| \
>  	DEV_RX_OFFLOAD_OUTER_UDP_CKSUM	| \
>  	DEV_RX_OFFLOAD_VLAN_STRIP	| \
>  	DEV_RX_OFFLOAD_VLAN_FILTER	| \
> diff --git a/drivers/net/octeontx_ep/otx_ep_ethdev.c
> b/drivers/net/octeontx_ep/otx_ep_ethdev.c
> index a243683d61d3..c65041a16ba7 100644
> --- a/drivers/net/octeontx_ep/otx_ep_ethdev.c
> +++ b/drivers/net/octeontx_ep/otx_ep_ethdev.c
> @@ -39,8 +39,7 @@ otx_ep_dev_info_get(struct rte_eth_dev *eth_dev,
> 
>  	devinfo->min_rx_bufsize = OTX_EP_MIN_RX_BUF_SIZE;
>  	devinfo->max_rx_pktlen = OTX_EP_MAX_PKT_SZ;
> -	devinfo->rx_offload_capa = DEV_RX_OFFLOAD_JUMBO_FRAME;
> -	devinfo->rx_offload_capa |= DEV_RX_OFFLOAD_SCATTER;
> +	devinfo->rx_offload_capa = DEV_RX_OFFLOAD_SCATTER;
>  	devinfo->tx_offload_capa = DEV_TX_OFFLOAD_MULTI_SEGS;
> 
>  	devinfo->max_mac_addrs = OTX_EP_MAX_MAC_ADDRS;
> diff --git a/drivers/net/octeontx_ep/otx_ep_rxtx.c
> b/drivers/net/octeontx_ep/otx_ep_rxtx.c
> index a7d433547e36..aa4dcd33cc79 100644
> --- a/drivers/net/octeontx_ep/otx_ep_rxtx.c
> +++ b/drivers/net/octeontx_ep/otx_ep_rxtx.c
> @@ -953,12 +953,6 @@ otx_ep_droq_read_packet(struct otx_ep_device
> *otx_ep,
>  	droq_pkt->l3_len = hdr_lens.l3_len;
>  	droq_pkt->l4_len = hdr_lens.l4_len;
> 
> -	if ((droq_pkt->pkt_len > (RTE_ETHER_MAX_LEN +
> OTX_CUST_DATA_LEN)) &&
> -	    !(otx_ep->rx_offloads & DEV_RX_OFFLOAD_JUMBO_FRAME)) {
> -		rte_pktmbuf_free(droq_pkt);
> -		goto oq_read_fail;
> -	}
> -
>  	if (droq_pkt->nb_segs > 1 &&
>  	    !(otx_ep->rx_offloads & DEV_RX_OFFLOAD_SCATTER)) {
>  		rte_pktmbuf_free(droq_pkt);
> diff --git a/drivers/net/qede/qede_ethdev.c
> b/drivers/net/qede/qede_ethdev.c
> index 84e23ff03418..06c3ccf20716 100644
> --- a/drivers/net/qede/qede_ethdev.c
> +++ b/drivers/net/qede/qede_ethdev.c
> @@ -1392,7 +1392,6 @@ qede_dev_info_get(struct rte_eth_dev *eth_dev,
>  				     DEV_RX_OFFLOAD_TCP_LRO	|
>  				     DEV_RX_OFFLOAD_KEEP_CRC    |
>  				     DEV_RX_OFFLOAD_SCATTER	|
> -				     DEV_RX_OFFLOAD_JUMBO_FRAME |
>  				     DEV_RX_OFFLOAD_VLAN_FILTER |
>  				     DEV_RX_OFFLOAD_VLAN_STRIP  |
>  				     DEV_RX_OFFLOAD_RSS_HASH);
> diff --git a/drivers/net/sfc/sfc_rx.c b/drivers/net/sfc/sfc_rx.c
> index 280e8a61f9e0..62b215f62cd6 100644
> --- a/drivers/net/sfc/sfc_rx.c
> +++ b/drivers/net/sfc/sfc_rx.c
> @@ -940,8 +940,6 @@ sfc_rx_get_dev_offload_caps(struct sfc_adapter *sa)
>  {
>  	uint64_t caps = sa->priv.dp_rx->dev_offload_capa;
> 
> -	caps |= DEV_RX_OFFLOAD_JUMBO_FRAME;
> -
>  	return caps & sfc_rx_get_offload_mask(sa);
>  }
> 
> diff --git a/drivers/net/thunderx/nicvf_ethdev.h
> b/drivers/net/thunderx/nicvf_ethdev.h
> index b8dd905d0bd6..5d38750d6313 100644
> --- a/drivers/net/thunderx/nicvf_ethdev.h
> +++ b/drivers/net/thunderx/nicvf_ethdev.h
> @@ -40,7 +40,6 @@
>  #define NICVF_RX_OFFLOAD_CAPA ( \
>  	DEV_RX_OFFLOAD_CHECKSUM    | \
>  	DEV_RX_OFFLOAD_VLAN_STRIP  | \
> -	DEV_RX_OFFLOAD_JUMBO_FRAME | \
>  	DEV_RX_OFFLOAD_SCATTER     | \
>  	DEV_RX_OFFLOAD_RSS_HASH)
> 
> diff --git a/drivers/net/txgbe/txgbe_rxtx.c b/drivers/net/txgbe/txgbe_rxtx.c
> index c6cd3803c434..0ce754fb25b0 100644
> --- a/drivers/net/txgbe/txgbe_rxtx.c
> +++ b/drivers/net/txgbe/txgbe_rxtx.c
> @@ -1953,7 +1953,6 @@ txgbe_get_rx_port_offloads(struct rte_eth_dev
> *dev)
>  		   DEV_RX_OFFLOAD_UDP_CKSUM   |
>  		   DEV_RX_OFFLOAD_TCP_CKSUM   |
>  		   DEV_RX_OFFLOAD_KEEP_CRC    |
> -		   DEV_RX_OFFLOAD_JUMBO_FRAME |
>  		   DEV_RX_OFFLOAD_VLAN_FILTER |
>  		   DEV_RX_OFFLOAD_RSS_HASH |
>  		   DEV_RX_OFFLOAD_SCATTER;
> diff --git a/drivers/net/virtio/virtio_ethdev.c
> b/drivers/net/virtio/virtio_ethdev.c
> index 5d341a3e23bb..a05e73cd8b60 100644
> --- a/drivers/net/virtio/virtio_ethdev.c
> +++ b/drivers/net/virtio/virtio_ethdev.c
> @@ -2556,7 +2556,6 @@ virtio_dev_info_get(struct rte_eth_dev *dev, struct
> rte_eth_dev_info *dev_info)
> 
>  	host_features = VIRTIO_OPS(hw)->get_features(hw);
>  	dev_info->rx_offload_capa = DEV_RX_OFFLOAD_VLAN_STRIP;
> -	dev_info->rx_offload_capa |= DEV_RX_OFFLOAD_JUMBO_FRAME;
>  	if (host_features & (1ULL << VIRTIO_NET_F_MRG_RXBUF))
>  		dev_info->rx_offload_capa |= DEV_RX_OFFLOAD_SCATTER;
>  	if (host_features & (1ULL << VIRTIO_NET_F_GUEST_CSUM)) {
> diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c
> b/drivers/net/vmxnet3/vmxnet3_ethdev.c
> index 2f40ae907dcd..0210f9140b48 100644
> --- a/drivers/net/vmxnet3/vmxnet3_ethdev.c
> +++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c
> @@ -54,7 +54,6 @@
>  	 DEV_RX_OFFLOAD_UDP_CKSUM |	\
>  	 DEV_RX_OFFLOAD_TCP_CKSUM |	\
>  	 DEV_RX_OFFLOAD_TCP_LRO |	\
> -	 DEV_RX_OFFLOAD_JUMBO_FRAME |   \
>  	 DEV_RX_OFFLOAD_RSS_HASH)
> 
>  int vmxnet3_segs_dynfield_offset = -1;
> diff --git a/examples/ip_fragmentation/main.c
> b/examples/ip_fragmentation/main.c
> index 12062a785dc6..7c0cb093eda3 100644
> --- a/examples/ip_fragmentation/main.c
> +++ b/examples/ip_fragmentation/main.c
> @@ -150,8 +150,7 @@ static struct rte_eth_conf port_conf = {
>  			RTE_ETHER_CRC_LEN,
>  		.split_hdr_size = 0,
>  		.offloads = (DEV_RX_OFFLOAD_CHECKSUM |
> -			     DEV_RX_OFFLOAD_SCATTER |
> -			     DEV_RX_OFFLOAD_JUMBO_FRAME),
> +			     DEV_RX_OFFLOAD_SCATTER),
>  	},
>  	.txmode = {
>  		.mq_mode = ETH_MQ_TX_NONE,
> diff --git a/examples/ip_reassembly/main.c
> b/examples/ip_reassembly/main.c
> index e5c7d46d2caa..af67db49f7fb 100644
> --- a/examples/ip_reassembly/main.c
> +++ b/examples/ip_reassembly/main.c
> @@ -165,8 +165,7 @@ static struct rte_eth_conf port_conf = {
>  		.mtu = JUMBO_FRAME_MAX_SIZE - RTE_ETHER_HDR_LEN -
>  			RTE_ETHER_CRC_LEN,
>  		.split_hdr_size = 0,
> -		.offloads = (DEV_RX_OFFLOAD_CHECKSUM |
> -			     DEV_RX_OFFLOAD_JUMBO_FRAME),
> +		.offloads = DEV_RX_OFFLOAD_CHECKSUM,
>  	},
>  	.rx_adv_conf = {
>  			.rss_conf = {
> diff --git a/examples/ipsec-secgw/ipsec-secgw.c b/examples/ipsec-
> secgw/ipsec-secgw.c
> index d032a47d1c3b..4a741bfdde4d 100644
> --- a/examples/ipsec-secgw/ipsec-secgw.c
> +++ b/examples/ipsec-secgw/ipsec-secgw.c
> @@ -2209,8 +2209,6 @@ port_init(uint16_t portid, uint64_t req_rx_offloads,
> uint64_t req_tx_offloads)
>  	printf("Creating queues: nb_rx_queue=%d nb_tx_queue=%u...\n",
>  			nb_rx_queue, nb_tx_queue);
> 
> -	if (mtu_size > RTE_ETHER_MTU)
> -		local_port_conf.rxmode.offloads |=
> DEV_RX_OFFLOAD_JUMBO_FRAME;
>  	local_port_conf.rxmode.mtu = mtu_size;
> 
>  	if (multi_seg_required()) {
> diff --git a/examples/ipv4_multicast/main.c
> b/examples/ipv4_multicast/main.c
> index b3993685ec92..63bbd7e64ceb 100644
> --- a/examples/ipv4_multicast/main.c
> +++ b/examples/ipv4_multicast/main.c
> @@ -113,7 +113,6 @@ static struct rte_eth_conf port_conf = {
>  		.mtu = JUMBO_FRAME_MAX_SIZE - RTE_ETHER_HDR_LEN -
>  			RTE_ETHER_CRC_LEN,
>  		.split_hdr_size = 0,
> -		.offloads = DEV_RX_OFFLOAD_JUMBO_FRAME,
>  	},
>  	.txmode = {
>  		.mq_mode = ETH_MQ_TX_NONE,
> diff --git a/examples/kni/main.c b/examples/kni/main.c
> index c10814c6a94f..0fd945e7e0b2 100644
> --- a/examples/kni/main.c
> +++ b/examples/kni/main.c
> @@ -790,11 +790,6 @@ kni_change_mtu_(uint16_t port_id, unsigned int
> new_mtu)
>  	}
> 
>  	memcpy(&conf, &port_conf, sizeof(conf));
> -	/* Set new MTU */
> -	if (new_mtu > RTE_ETHER_MTU)
> -		conf.rxmode.offloads |= DEV_RX_OFFLOAD_JUMBO_FRAME;
> -	else
> -		conf.rxmode.offloads &=
> ~DEV_RX_OFFLOAD_JUMBO_FRAME;
> 
>  	conf.rxmode.mtu = new_mtu;
>  	ret = rte_eth_dev_configure(port_id, 1, 1, &conf);
> diff --git a/examples/l3fwd-acl/main.c b/examples/l3fwd-acl/main.c
> index 7abb612ee6a4..f6dfb156ac56 100644
> --- a/examples/l3fwd-acl/main.c
> +++ b/examples/l3fwd-acl/main.c
> @@ -2000,10 +2000,8 @@ config_port_max_pkt_len(struct rte_eth_conf
> *conf,
>  			dev_info->max_mtu);
>  	conf->rxmode.mtu = max_pkt_len - overhead_len;
> 
> -	if (conf->rxmode.mtu > RTE_ETHER_MTU) {
> +	if (conf->rxmode.mtu > RTE_ETHER_MTU)
>  		conf->txmode.offloads |= DEV_TX_OFFLOAD_MULTI_SEGS;
> -		conf->rxmode.offloads |=
> DEV_RX_OFFLOAD_JUMBO_FRAME;
> -	}
> 
>  	return 0;
>  }
> diff --git a/examples/l3fwd-graph/main.c b/examples/l3fwd-graph/main.c
> index b431b9ff5f3c..a185a0512826 100644
> --- a/examples/l3fwd-graph/main.c
> +++ b/examples/l3fwd-graph/main.c
> @@ -730,10 +730,8 @@ config_port_max_pkt_len(struct rte_eth_conf *conf,
>  			dev_info->max_mtu);
>  	conf->rxmode.mtu = max_pkt_len - overhead_len;
> 
> -	if (conf->rxmode.mtu > RTE_ETHER_MTU) {
> +	if (conf->rxmode.mtu > RTE_ETHER_MTU)
>  		conf->txmode.offloads |= DEV_TX_OFFLOAD_MULTI_SEGS;
> -		conf->rxmode.offloads |=
> DEV_RX_OFFLOAD_JUMBO_FRAME;
> -	}
> 
>  	return 0;
>  }
> diff --git a/examples/l3fwd-power/main.c b/examples/l3fwd-power/main.c
> index e58561327c48..12b4dce77ce1 100644
> --- a/examples/l3fwd-power/main.c
> +++ b/examples/l3fwd-power/main.c
> @@ -2509,10 +2509,8 @@ config_port_max_pkt_len(struct rte_eth_conf
> *conf,
>  			dev_info->max_mtu);
>  	conf->rxmode.mtu = max_pkt_len - overhead_len;
> 
> -	if (conf->rxmode.mtu > RTE_ETHER_MTU) {
> +	if (conf->rxmode.mtu > RTE_ETHER_MTU)
>  		conf->txmode.offloads |= DEV_TX_OFFLOAD_MULTI_SEGS;
> -		conf->rxmode.offloads |=
> DEV_RX_OFFLOAD_JUMBO_FRAME;
> -	}
> 
>  	return 0;
>  }
> diff --git a/examples/l3fwd/main.c b/examples/l3fwd/main.c
> index cb9bc7ad6002..22d35749410b 100644
> --- a/examples/l3fwd/main.c
> +++ b/examples/l3fwd/main.c
> @@ -987,10 +987,8 @@ config_port_max_pkt_len(struct rte_eth_conf *conf,
>  			dev_info->max_mtu);
>  	conf->rxmode.mtu = max_pkt_len - overhead_len;
> 
> -	if (conf->rxmode.mtu > RTE_ETHER_MTU) {
> +	if (conf->rxmode.mtu > RTE_ETHER_MTU)
>  		conf->txmode.offloads |= DEV_TX_OFFLOAD_MULTI_SEGS;
> -		conf->rxmode.offloads |=
> DEV_RX_OFFLOAD_JUMBO_FRAME;
> -	}
> 
>  	return 0;
>  }
> diff --git a/examples/performance-thread/l3fwd-thread/main.c
> b/examples/performance-thread/l3fwd-thread/main.c
> index b6cddc8c7b51..8fc3a7c675a2 100644
> --- a/examples/performance-thread/l3fwd-thread/main.c
> +++ b/examples/performance-thread/l3fwd-thread/main.c
> @@ -3493,10 +3493,8 @@ config_port_max_pkt_len(struct rte_eth_conf
> *conf,
>  			dev_info->max_mtu);
>  	conf->rxmode.mtu = max_pkt_len - overhead_len;
> 
> -	if (conf->rxmode.mtu > RTE_ETHER_MTU) {
> +	if (conf->rxmode.mtu > RTE_ETHER_MTU)
>  		conf->txmode.offloads |= DEV_TX_OFFLOAD_MULTI_SEGS;
> -		conf->rxmode.offloads |=
> DEV_RX_OFFLOAD_JUMBO_FRAME;
> -	}
> 
>  	return 0;
>  }
> diff --git a/examples/vhost/main.c b/examples/vhost/main.c
> index da381b41c0c5..a9c207124153 100644
> --- a/examples/vhost/main.c
> +++ b/examples/vhost/main.c
> @@ -631,11 +631,8 @@ us_vhost_parse_args(int argc, char **argv)
>  				return -1;
>  			}
>  			mergeable = !!ret;
> -			if (ret) {
> -				vmdq_conf_default.rxmode.offloads |=
> -					DEV_RX_OFFLOAD_JUMBO_FRAME;
> +			if (ret)
>  				vmdq_conf_default.rxmode.mtu =
> MAX_MTU;
> -			}
>  			break;
> 
>  		case OPT_STATS_NUM:
> diff --git a/lib/ethdev/rte_ethdev.c b/lib/ethdev/rte_ethdev.c
> index ce0ed509d28f..c2b624aba1a0 100644
> --- a/lib/ethdev/rte_ethdev.c
> +++ b/lib/ethdev/rte_ethdev.c
> @@ -118,7 +118,6 @@ static const struct {
>  	RTE_RX_OFFLOAD_BIT2STR(HEADER_SPLIT),
>  	RTE_RX_OFFLOAD_BIT2STR(VLAN_FILTER),
>  	RTE_RX_OFFLOAD_BIT2STR(VLAN_EXTEND),
> -	RTE_RX_OFFLOAD_BIT2STR(JUMBO_FRAME),
>  	RTE_RX_OFFLOAD_BIT2STR(SCATTER),
>  	RTE_RX_OFFLOAD_BIT2STR(TIMESTAMP),
>  	RTE_RX_OFFLOAD_BIT2STR(SECURITY),
> @@ -1485,13 +1484,6 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t
> nb_rx_q, uint16_t nb_tx_q,
>  		goto rollback;
>  	}
> 
> -	if ((dev_conf->rxmode.offloads & DEV_RX_OFFLOAD_JUMBO_FRAME)
> == 0) {
> -		if (dev->data->dev_conf.rxmode.mtu <
> RTE_ETHER_MIN_MTU ||
> -				dev->data->dev_conf.rxmode.mtu >
> RTE_ETHER_MTU)
> -			/* Use default value */
> -			dev->data->dev_conf.rxmode.mtu =
> RTE_ETHER_MTU;
> -	}
> -
>  	dev->data->mtu = dev->data->dev_conf.rxmode.mtu;
> 
>  	/*
> @@ -3639,7 +3631,6 @@ rte_eth_dev_set_mtu(uint16_t port_id, uint16_t
> mtu)
>  	int ret;
>  	struct rte_eth_dev_info dev_info;
>  	struct rte_eth_dev *dev;
> -	int is_jumbo_frame_capable = 0;
> 
>  	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>  	dev = &rte_eth_devices[port_id];
> @@ -3667,27 +3658,12 @@ rte_eth_dev_set_mtu(uint16_t port_id, uint16_t
> mtu)
>  		frame_size = mtu + overhead_len;
>  		if (mtu < RTE_ETHER_MIN_MTU || frame_size >
> dev_info.max_rx_pktlen)
>  			return -EINVAL;
> -
> -		if ((dev_info.rx_offload_capa &
> DEV_RX_OFFLOAD_JUMBO_FRAME) != 0)
> -			is_jumbo_frame_capable = 1;
>  	}
> 
> -	if (mtu > RTE_ETHER_MTU && is_jumbo_frame_capable == 0)
> -		return -EINVAL;
> -
>  	ret = (*dev->dev_ops->mtu_set)(dev, mtu);
> -	if (ret == 0) {
> +	if (ret == 0)
>  		dev->data->mtu = mtu;
> 
> -		/* switch to jumbo mode if needed */
> -		if (mtu > RTE_ETHER_MTU)
> -			dev->data->dev_conf.rxmode.offloads |=
> -				DEV_RX_OFFLOAD_JUMBO_FRAME;
> -		else
> -			dev->data->dev_conf.rxmode.offloads &=
> -				~DEV_RX_OFFLOAD_JUMBO_FRAME;
> -	}
> -
>  	return eth_err(port_id, ret);
>  }
> 
> diff --git a/lib/ethdev/rte_ethdev.h b/lib/ethdev/rte_ethdev.h
> index 9fba2bd73c84..4d0f956a4b28 100644
> --- a/lib/ethdev/rte_ethdev.h
> +++ b/lib/ethdev/rte_ethdev.h
> @@ -1389,7 +1389,6 @@ struct rte_eth_conf {
>  #define DEV_RX_OFFLOAD_HEADER_SPLIT	0x00000100
>  #define DEV_RX_OFFLOAD_VLAN_FILTER	0x00000200
>  #define DEV_RX_OFFLOAD_VLAN_EXTEND	0x00000400
> -#define DEV_RX_OFFLOAD_JUMBO_FRAME	0x00000800
>  #define DEV_RX_OFFLOAD_SCATTER		0x00002000
>  /**
>   * Timestamp is set by the driver in
> RTE_MBUF_DYNFIELD_TIMESTAMP_NAME
> --
> 2.31.1

Reviewed-by: Rosen Xu <rosen.xu@intel.com>

  reply	other threads:[~2021-10-08  8:49 UTC|newest]

Thread overview: 112+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-09 17:29 [dpdk-dev] [PATCH 1/4] ethdev: fix max Rx packet length Ferruh Yigit
2021-07-09 17:29 ` [dpdk-dev] [PATCH 2/4] ethdev: move jumbo frame offload check to library Ferruh Yigit
2021-07-13 13:48   ` Andrew Rybchenko
2021-07-21 12:26     ` Ferruh Yigit
2021-07-18  7:49   ` Xu, Rosen
2021-07-19 14:38   ` Ajit Khaparde
2021-07-09 17:29 ` [dpdk-dev] [PATCH 3/4] ethdev: move check to library for MTU set Ferruh Yigit
2021-07-13 13:56   ` Andrew Rybchenko
2021-07-18  7:52   ` Xu, Rosen
2021-07-09 17:29 ` [dpdk-dev] [PATCH 4/4] ethdev: remove jumbo offload flag Ferruh Yigit
2021-07-13 14:07   ` Andrew Rybchenko
2021-07-21 12:26     ` Ferruh Yigit
2021-07-21 12:39     ` Ferruh Yigit
2021-07-18  7:53   ` Xu, Rosen
2021-07-13 12:47 ` [dpdk-dev] [PATCH 1/4] ethdev: fix max Rx packet length Andrew Rybchenko
2021-07-21 16:46   ` Ferruh Yigit
2021-07-22  1:31     ` Ajit Khaparde
2021-07-22 10:27       ` Ferruh Yigit
2021-07-22 10:38         ` Andrew Rybchenko
2021-07-18  7:45 ` Xu, Rosen
2021-07-19  3:35 ` Huisong Li
2021-07-21 15:29   ` Ferruh Yigit
2021-07-22  7:21     ` Huisong Li
2021-07-22 10:12       ` Ferruh Yigit
2021-07-22 10:15         ` Andrew Rybchenko
2021-07-22 14:43           ` Stephen Hemminger
2021-09-17  1:08             ` Min Hu (Connor)
2021-09-17  8:04               ` Ferruh Yigit
2021-09-17  8:16                 ` Min Hu (Connor)
2021-09-17  8:17                 ` Min Hu (Connor)
2021-07-22 17:21 ` [dpdk-dev] [PATCH v2 1/6] " Ferruh Yigit
2021-07-22 17:21   ` [dpdk-dev] [PATCH v2 2/6] ethdev: move jumbo frame offload check to library Ferruh Yigit
2021-07-22 17:21   ` [dpdk-dev] [PATCH v2 3/6] ethdev: move check to library for MTU set Ferruh Yigit
2021-07-22 17:21   ` [dpdk-dev] [PATCH v2 4/6] ethdev: remove jumbo offload flag Ferruh Yigit
2021-07-22 17:21   ` [dpdk-dev] [PATCH v2 5/6] ethdev: unify MTU checks Ferruh Yigit
2021-07-23  3:29     ` Huisong Li
2021-07-22 17:21   ` [dpdk-dev] [PATCH v2 6/6] examples/ip_reassembly: remove unused parameter Ferruh Yigit
2021-10-01 14:36   ` [dpdk-dev] [PATCH v3 1/6] ethdev: fix max Rx packet length Ferruh Yigit
2021-10-01 14:36     ` [dpdk-dev] [PATCH v3 2/6] ethdev: move jumbo frame offload check to library Ferruh Yigit
2021-10-04  5:08       ` Somnath Kotur
2021-10-01 14:36     ` [dpdk-dev] [PATCH v3 3/6] ethdev: move check to library for MTU set Ferruh Yigit
2021-10-04  5:09       ` Somnath Kotur
2021-10-01 14:36     ` [dpdk-dev] [PATCH v3 4/6] ethdev: remove jumbo offload flag Ferruh Yigit
     [not found]       ` <CAOBf=muYkU2dwgi3iC8Q7pdSNTJsMUwWYdXj14KeN_=_mUGa0w@mail.gmail.com>
2021-10-04  7:55         ` Somnath Kotur
2021-10-05 16:48           ` Ferruh Yigit
2021-10-01 14:36     ` [dpdk-dev] [PATCH v3 5/6] ethdev: unify MTU checks Ferruh Yigit
2021-10-01 14:36     ` [dpdk-dev] [PATCH v3 6/6] examples/ip_reassembly: remove unused parameter Ferruh Yigit
2021-10-01 15:07     ` [dpdk-dev] [PATCH v3 1/6] ethdev: fix max Rx packet length Stephen Hemminger
2021-10-05 16:46       ` Ferruh Yigit
2021-10-05 17:16     ` [dpdk-dev] [PATCH v4 " Ferruh Yigit
2021-10-05 17:16       ` [dpdk-dev] [PATCH v4 2/6] ethdev: move jumbo frame offload check to library Ferruh Yigit
2021-10-08  8:39         ` Xu, Rosen
2021-10-05 17:16       ` [dpdk-dev] [PATCH v4 3/6] ethdev: move check to library for MTU set Ferruh Yigit
2021-10-05 17:16       ` [dpdk-dev] [PATCH v4 4/6] ethdev: remove jumbo offload flag Ferruh Yigit
2021-10-08  8:38         ` Xu, Rosen [this message]
2021-10-05 17:16       ` [dpdk-dev] [PATCH v4 5/6] ethdev: unify MTU checks Ferruh Yigit
2021-10-05 17:16       ` [dpdk-dev] [PATCH v4 6/6] examples/ip_reassembly: remove unused parameter Ferruh Yigit
2021-10-05 22:07       ` [dpdk-dev] [PATCH v4 1/6] ethdev: fix max Rx packet length Ajit Khaparde
2021-10-06  6:08         ` Somnath Kotur
2021-10-08  8:36       ` Xu, Rosen
2021-10-10  6:30       ` Matan Azrad
2021-10-11 21:59         ` Ferruh Yigit
2021-10-12  7:03           ` Matan Azrad
2021-10-12 11:03             ` Ferruh Yigit
2021-10-07 16:56     ` [dpdk-dev] [PATCH v5 " Ferruh Yigit
2021-10-07 16:56       ` [dpdk-dev] [PATCH v5 2/6] ethdev: move jumbo frame offload check to library Ferruh Yigit
2021-10-08 17:20         ` Ananyev, Konstantin
2021-10-09 10:58         ` lihuisong (C)
2021-10-07 16:56       ` [dpdk-dev] [PATCH v5 3/6] ethdev: move check to library for MTU set Ferruh Yigit
2021-10-08 17:19         ` Ananyev, Konstantin
2021-10-07 16:56       ` [dpdk-dev] [PATCH v5 4/6] ethdev: remove jumbo offload flag Ferruh Yigit
2021-10-08 17:11         ` Ananyev, Konstantin
2021-10-09 11:09           ` lihuisong (C)
2021-10-10  5:46         ` Matan Azrad
2021-10-07 16:56       ` [dpdk-dev] [PATCH v5 5/6] ethdev: unify MTU checks Ferruh Yigit
2021-10-08 16:51         ` Ananyev, Konstantin
2021-10-11 19:50           ` Ferruh Yigit
2021-10-09 11:43         ` lihuisong (C)
2021-10-11 20:15           ` Ferruh Yigit
2021-10-12  4:02             ` lihuisong (C)
2021-10-07 16:56       ` [dpdk-dev] [PATCH v5 6/6] examples/ip_reassembly: remove unused parameter Ferruh Yigit
2021-10-08 16:53         ` Ananyev, Konstantin
2021-10-08 15:57       ` [dpdk-dev] [PATCH v5 1/6] ethdev: fix max Rx packet length Ananyev, Konstantin
2021-10-11 19:47         ` Ferruh Yigit
2021-10-09 10:56       ` lihuisong (C)
2021-10-11 23:53     ` [dpdk-dev] [PATCH v6 " Ferruh Yigit
2021-10-11 23:53       ` [dpdk-dev] [PATCH v6 2/6] ethdev: move jumbo frame offload check to library Ferruh Yigit
2021-10-11 23:53       ` [dpdk-dev] [PATCH v6 3/6] ethdev: move check to library for MTU set Ferruh Yigit
2021-10-11 23:53       ` [dpdk-dev] [PATCH v6 4/6] ethdev: remove jumbo offload flag Ferruh Yigit
2021-10-12 17:20         ` Hyong Youb Kim (hyonkim)
2021-10-13  7:16         ` Michał Krawczyk
2021-10-11 23:53       ` [dpdk-dev] [PATCH v6 5/6] ethdev: unify MTU checks Ferruh Yigit
2021-10-12  5:58         ` Andrew Rybchenko
2021-10-11 23:53       ` [dpdk-dev] [PATCH v6 6/6] examples/ip_reassembly: remove unused parameter Ferruh Yigit
2021-10-12  6:02       ` [dpdk-dev] [PATCH v6 1/6] ethdev: fix max Rx packet length Andrew Rybchenko
2021-10-12  9:42       ` Ananyev, Konstantin
2021-10-13  7:08       ` Xu, Rosen
2021-10-15  1:31       ` Hyong Youb Kim (hyonkim)
2021-10-16  0:24       ` Ferruh Yigit
2021-10-18  8:54         ` Ferruh Yigit
2021-10-18 13:48     ` [dpdk-dev] [PATCH v7 " Ferruh Yigit
2021-10-18 13:48       ` [dpdk-dev] [PATCH v7 2/6] ethdev: move jumbo frame offload check to library Ferruh Yigit
2021-10-18 13:48       ` [dpdk-dev] [PATCH v7 3/6] ethdev: move check to library for MTU set Ferruh Yigit
2021-10-18 13:48       ` [dpdk-dev] [PATCH v7 4/6] ethdev: remove jumbo offload flag Ferruh Yigit
2021-10-21  0:43         ` Thomas Monjalon
2021-10-22 11:25           ` Ferruh Yigit
2021-10-22 11:29             ` Andrew Rybchenko
2021-10-18 13:48       ` [dpdk-dev] [PATCH v7 5/6] ethdev: unify MTU checks Ferruh Yigit
2021-10-18 13:48       ` [dpdk-dev] [PATCH v7 6/6] examples/ip_reassembly: remove unused parameter Ferruh Yigit
2021-10-18 17:31       ` [dpdk-dev] [PATCH v7 1/6] ethdev: fix max Rx packet length Ferruh Yigit
2021-11-05 14:19         ` Xueming(Steven) Li
2021-11-05 14:39           ` Ferruh Yigit

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=BYAPR11MB2901756D12CD172C22930F4D89B29@BYAPR11MB2901.namprd11.prod.outlook.com \
    --to=rosen.xu@intel.com \
    --cc=aboyer@pensando.io \
    --cc=ajit.khaparde@broadcom.com \
    --cc=andrew.rybchenko@oktetlabs.ru \
    --cc=asomalap@amd.com \
    --cc=beilei.xing@intel.com \
    --cc=chas3@att.com \
    --cc=chenbo.xia@intel.com \
    --cc=cloud.wangxiaoyun@huawei.com \
    --cc=david.hunt@intel.com \
    --cc=dev@dpdk.org \
    --cc=dsinghrawat@marvell.com \
    --cc=evgenys@amazon.com \
    --cc=ferruh.yigit@intel.com \
    --cc=g.singh@nxp.com \
    --cc=gakhil@marvell.com \
    --cc=grive@u256.net \
    --cc=haiyue.wang@intel.com \
    --cc=heinrich.kuhn@corigine.com \
    --cc=hemant.agrawal@nxp.com \
    --cc=hkalra@marvell.com \
    --cc=humin29@huawei.com \
    --cc=hyonkim@cisco.com \
    --cc=igorch@amazon.com \
    --cc=irusskikh@marvell.com \
    --cc=jerinj@marvell.com \
    --cc=jianwang@trustnetic.com \
    --cc=jiawenwu@trustnetic.com \
    --cc=jingjing.wu@intel.com \
    --cc=john.mcnamara@intel.com \
    --cc=johndale@cisco.com \
    --cc=kirankumark@marvell.com \
    --cc=konstantin.ananyev@intel.com \
    --cc=lironh@marvell.com \
    --cc=matan@nvidia.com \
    --cc=maxime.coquelin@redhat.com \
    --cc=mczekaj@marvell.com \
    --cc=mk@semihalf.com \
    --cc=mw@semihalf.com \
    --cc=ndabilpuram@marvell.com \
    --cc=oulijun@huawei.com \
    --cc=pnalla@marvell.com \
    --cc=qi.z.zhang@intel.com \
    --cc=qiming.yang@intel.com \
    --cc=radhac@marvell.com \
    --cc=radu.nicolau@intel.com \
    --cc=rahul.lakkireddy@chelsio.com \
    --cc=rmody@marvell.com \
    --cc=sachin.saxena@oss.nxp.com \
    --cc=shaibran@amazon.com \
    --cc=shshaikh@marvell.com \
    --cc=skori@marvell.com \
    --cc=skoteshwar@marvell.com \
    --cc=somnath.kotur@broadcom.com \
    --cc=thomas@monjalon.net \
    --cc=vburru@marvell.com \
    --cc=viacheslavo@nvidia.com \
    --cc=xiao.w.wang@intel.com \
    --cc=xiaoyun.li@intel.com \
    --cc=xuanziyang2@huawei.com \
    --cc=yisen.zhuang@huawei.com \
    --cc=yongwang@vmware.com \
    --cc=zhouguoyang@huawei.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.