From patchwork Thu Jul 22 17:21:10 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Ferruh Yigit X-Patchwork-Id: 96213 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 639C7A0A0C; Thu, 22 Jul 2021 19:22:04 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4CF47410F1; Thu, 22 Jul 2021 19:22:04 +0200 (CEST) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by mails.dpdk.org (Postfix) with ESMTP id 974B8410EF for ; Thu, 22 Jul 2021 19:22:02 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10053"; a="233520575" X-IronPort-AV: E=Sophos;i="5.84,261,1620716400"; d="scan'208";a="233520575" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Jul 2021 10:22:01 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,261,1620716400"; d="scan'208";a="659178378" Received: from silpixa00399752.ir.intel.com (HELO silpixa00399752.ger.corp.intel.com) ([10.237.222.27]) by fmsmga006.fm.intel.com with ESMTP; 22 Jul 2021 10:21:49 -0700 From: Ferruh Yigit To: Jerin Jacob , Xiaoyun Li , Ajit Khaparde , Somnath Kotur , Igor Russkikh , Pavel Belous , Somalapuram Amaranath , Rasesh Mody , Shahed Shaikh , Chas Williams , "Min Hu (Connor)" , Nithin Dabilpuram , Kiran Kumar K , Sunil Kumar Kori , Satha Rao , Rahul Lakkireddy , Hemant Agrawal , Sachin Saxena , Haiyue Wang , Marcin Wojtas , Michal Krawczyk , Guy Tzalik , Evgeny Schemeilin , Igor Chauskin , Gagandeep Singh , John Daley , Hyong Youb Kim , Gaetan Rivet , Qi Zhang , Xiao Wang , Ziyang Xuan , Xiaoyun Wang , Guoyang Zhou , Yisen Zhuang , Lijun Ou , Beilei Xing , Jingjing Wu , Qiming Yang , Andrew Boyer , Rosen Xu , Matan Azrad , Shahaf Shuler , Viacheslav Ovsiienko , Zyta Szpak , Liron Himi , Heinrich Kuhn , Harman Kalra , Nalla Pradeep , Radha Mohan Chintakuntla , Veerasenareddy Burru , Devendra Singh Rawat , Andrew Rybchenko , Maciej Czekaj , Jiawen Wu , Jian Wang , Maxime Coquelin , Chenbo Xia , Yong Wang , Konstantin Ananyev , Radu Nicolau , Akhil Goyal , David Hunt , John McNamara , Thomas Monjalon Cc: Ferruh Yigit , dev@dpdk.org Date: Thu, 22 Jul 2021 18:21:10 +0100 Message-Id: <20210722172113.3236450-4-ferruh.yigit@intel.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210722172113.3236450-1-ferruh.yigit@intel.com> References: <20210709172923.3369846-1-ferruh.yigit@intel.com> <20210722172113.3236450-1-ferruh.yigit@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v2 4/6] ethdev: remove jumbo offload flag X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 explicitly set this flag to enable jumbo frames, this can be deducted by driver by comparing requested 'mtu' to 'RTE_ETHER_MTU'. Removing this additional configuration for simplification. Suggested-by: Konstantin Ananyev Signed-off-by: Ferruh Yigit Acked-by: Andrew Rybchenko Reviewed-by: Rosen Xu --- app/test-eventdev/test_pipeline_common.c | 2 - app/test-pmd/cmdline.c | 2 +- app/test-pmd/config.c | 24 +--------- app/test-pmd/testpmd.c | 46 +------------------ 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 | 2 - 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_ethdev_vf.c | 3 +- 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_net.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 | 2 - lib/ethdev/rte_ethdev.c | 26 +---------- lib/ethdev/rte_ethdev.h | 1 - 76 files changed, 47 insertions(+), 257 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 c183a8982f13..90f2b7dcfcc5 100644 --- a/app/test-pmd/cmdline.c +++ b/app/test-pmd/cmdline.c @@ -1921,7 +1921,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 918ee3af2a71..82ba6d667f0d 100644 --- a/app/test-pmd/config.c +++ b/app/test-pmd/config.c @@ -1136,39 +1136,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) { - printf("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) { printf("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 d2658bdc9ff3..2ca68baa3aa4 100644 --- a/app/test-pmd/testpmd.c +++ b/app/test-pmd/testpmd.c @@ -1439,11 +1439,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) - printf("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; @@ -3349,24 +3344,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); @@ -3375,39 +3364,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) { - printf("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 42143f85924f..b94bf668dc4d 100644 --- a/app/test-pmd/testpmd.h +++ b/app/test-pmd/testpmd.h @@ -1012,7 +1012,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 f4c0f212cb8a..be63fa1cc3b7 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 494a1eff3700..061ec3bccb10 100644 --- a/drivers/net/bnxt/bnxt.h +++ b/drivers/net/bnxt/bnxt.h @@ -597,7 +597,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 2c58f7f681c6..3c9a8c4e624e 100644 --- a/drivers/net/bnxt/bnxt_ethdev.c +++ b/drivers/net/bnxt/bnxt_ethdev.c @@ -736,15 +736,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. @@ -1230,7 +1225,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 ed3893f8d6fa..149058deb673 100644 --- a/drivers/net/bonding/rte_eth_bond_pmd.c +++ b/drivers/net/bonding/rte_eth_bond_pmd.c @@ -1731,14 +1731,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 2528b3cdaa0c..77620580b2b0 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 60dd4f67fc26..9cc808b767ea 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 7bb309691ce2..eb0bcfd6f867 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 e9b718786a39..4322dce260f5 100644 --- a/drivers/net/ena/ena_ethdev.c +++ b/drivers/net/ena/ena_ethdev.c @@ -2042,8 +2042,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; - /* Inform framework about available features */ dev_info->rx_offload_capa = rx_feat; dev_info->rx_offload_capa |= DEV_RX_OFFLOAD_RSS_HASH; 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 a8f5332a407f..6a4758ea8e8a 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 ce0b52c718ab..b1563350ec0e 100644 --- a/drivers/net/hinic/hinic_pmd_ethdev.c +++ b/drivers/net/hinic/hinic_pmd_ethdev.c @@ -747,7 +747,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 b2328d3690b8..a2dd68ab50b5 100644 --- a/drivers/net/hns3/hns3_ethdev.c +++ b/drivers/net/hns3/hns3_ethdev.c @@ -2697,7 +2697,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 178de997d138..97b96b61ba95 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 16a184ad1035..3efb1a59fcd3 100644 --- a/drivers/net/i40e/i40e_ethdev.c +++ b/drivers/net/i40e/i40e_ethdev.c @@ -3758,7 +3758,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_ethdev_vf.c b/drivers/net/i40e/i40e_ethdev_vf.c index 0e6065da8a3f..e47ea9a9290e 100644 --- a/drivers/net/i40e/i40e_ethdev_vf.c +++ b/drivers/net/i40e/i40e_ethdev_vf.c @@ -1932,7 +1932,7 @@ i40evf_rxq_init(struct rte_eth_dev *dev, struct i40e_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 (rxq->max_pkt_len <= I40E_ETH_MAX_LEN || rxq->max_pkt_len > I40E_FRAME_SIZE_MAX) { PMD_DRV_LOG(ERR, "maximum packet length must be " @@ -2378,7 +2378,6 @@ i40evf_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_info->tx_queue_offload_capa = 0; diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c index 13c3760c8d13..2184a1f78296 100644 --- a/drivers/net/i40e/i40e_rxtx.c +++ b/drivers/net/i40e/i40e_rxtx.c @@ -2925,7 +2925,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 049671ef3da9..f156add80e0d 100644 --- a/drivers/net/iavf/iavf_ethdev.c +++ b/drivers/net/iavf/iavf_ethdev.c @@ -574,7 +574,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 " @@ -939,7 +939,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 c83941a908b6..3969b03aa8eb 100644 --- a/drivers/net/ice/ice_dcf_ethdev.c +++ b/drivers/net/ice/ice_dcf_ethdev.c @@ -65,7 +65,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 " @@ -663,7 +663,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 970461f3e90a..07843c6dbc92 100644 --- a/drivers/net/ice/ice_dcf_vf_representor.c +++ b/drivers/net/ice/ice_dcf_vf_representor.c @@ -141,7 +141,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 05bcd300bb30..cbc8858f068d 100644 --- a/drivers/net/ice/ice_ethdev.c +++ b/drivers/net/ice/ice_ethdev.c @@ -3450,7 +3450,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 9da9a42aaad0..a3db5257d418 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; uint32_t frame_size = dev_data->mtu + ICE_ETH_OVERHEAD; @@ -281,7 +280,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 c4696f34a7a1..8c180f77a04e 100644 --- a/drivers/net/ixgbe/ixgbe_ethdev.c +++ b/drivers/net/ixgbe/ixgbe_ethdev.c @@ -6229,7 +6229,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; @@ -6251,14 +6250,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 eb11e22e59e3..057be2b0dbd2 100644 --- a/drivers/net/ixgbe/ixgbe_rxtx.c +++ b/drivers/net/ixgbe/ixgbe_rxtx.c @@ -3029,7 +3029,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; @@ -5091,7 +5090,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 78499c4cc496..4f5d8f5349d2 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_net.c b/drivers/net/nfp/nfp_net.c index 6c54f0e358e9..fdbada5f1cd8 100644 --- a/drivers/net/nfp/nfp_net.c +++ b/drivers/net/nfp/nfp_net.c @@ -645,8 +645,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; @@ -1309,9 +1308,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 e95d933a866d..25f6cbe42512 100644 --- a/drivers/net/octeontx2/otx2_ethdev.h +++ b/drivers/net/octeontx2/otx2_ethdev.h @@ -147,7 +147,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 098e56e9822f..abd4b998bd3a 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 f6a8ac68e814..c589f8fbdf48 100644 --- a/drivers/net/sfc/sfc_rx.c +++ b/drivers/net/sfc/sfc_rx.c @@ -939,8 +939,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 9491cc2669f7..efb76ccf63e6 100644 --- a/drivers/net/virtio/virtio_ethdev.c +++ b/drivers/net/virtio/virtio_ethdev.c @@ -2442,7 +2442,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_GUEST_CSUM)) { dev_info->rx_offload_capa |= DEV_RX_OFFLOAD_TCP_CKSUM | diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmxnet3_ethdev.c index 1a3291273a11..8df98170587a 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 da4efdb83e64..0c9d7c8a294e 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 253f7be2ca07..b92f0e460178 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 f8a1f544c21d..bcddd30c486a 100644 --- a/examples/ipsec-secgw/ipsec-secgw.c +++ b/examples/ipsec-secgw/ipsec-secgw.c @@ -2207,8 +2207,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 c211ffeb127a..0ccc3ba4a7c4 100644 --- a/examples/ipv4_multicast/main.c +++ b/examples/ipv4_multicast/main.c @@ -110,7 +110,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 627bdecbd95f..939b42e352ea 100644 --- a/examples/l3fwd-graph/main.c +++ b/examples/l3fwd-graph/main.c @@ -729,10 +729,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 92344c2114e1..f8097a4fdb99 100644 --- a/examples/l3fwd-power/main.c +++ b/examples/l3fwd-power/main.c @@ -2508,10 +2508,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 b7249fce577b..cab89e6b7ba4 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 bbd540e5db61..4411adec40f3 100644 --- a/examples/vhost/main.c +++ b/examples/vhost/main.c @@ -637,8 +637,6 @@ us_vhost_parse_args(int argc, char **argv) } mergeable = !!ret; if (ret) { - vmdq_conf_default.rxmode.offloads |= - DEV_RX_OFFLOAD_JUMBO_FRAME; vmdq_conf_default.rxmode.mtu = JUMBO_FRAME_MAX_SIZE - (RTE_ETHER_HDR_LEN + RTE_ETHER_CRC_LEN); diff --git a/lib/ethdev/rte_ethdev.c b/lib/ethdev/rte_ethdev.c index cae456c70a28..97d5c7d42d3b 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), @@ -1486,13 +1485,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; /* @@ -3640,7 +3632,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]; @@ -3668,27 +3659,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 93c3051cfca0..892840e66227 100644 --- a/lib/ethdev/rte_ethdev.h +++ b/lib/ethdev/rte_ethdev.h @@ -1359,7 +1359,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