On Mon, Oct 4, 2021 at 10:42 AM Somnath Kotur wrote: > > On Fri, Oct 1, 2021 at 8:07 PM Ferruh Yigit wrote: > > > > 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 > application setting this flag explicitly sounds better? > > frames, this can be deducted by driver by comparing requested 'mtu' to > typo, think you meant 'deduced' ? :) > > > '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 | 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 | > > Acked-by: Somnath Kotur > > > 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 b93e314d3d0c..f27746ae295e 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 8f14a494203a..b6d79a51fa8c 100644 > > --- a/drivers/net/ice/ice_dcf_ethdev.c > > +++ b/drivers/net/ice/ice_dcf_ethdev.c > > @@ -71,7 +71,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 " > > @@ -682,7 +682,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 02c06d4da8bc..9b39e9c023ef 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 > >