HI Wenzhou, Following is a thought but not an issue. Can you please let me know your thought?
<snipped> > +static int > +ice_mtu_set(struct rte_eth_dev *dev, uint16_t mtu) { > + struct ice_pf *pf = ICE_DEV_PRIVATE_TO_PF(dev->data->dev_private); > + struct rte_eth_dev_data *dev_data = pf->dev_data; > + uint32_t frame_size = mtu + ETHER_HDR_LEN > + + ETHER_CRC_LEN + ICE_VLAN_TAG_SIZE; > + > + if (rte_eal_process_type() == RTE_PROC_SECONDARY) > + return -E_RTE_SECONDARY; > + > + /* check if mtu is within the allowed range */ > + if ((mtu < ETHER_MIN_MTU) || (frame_size > ICE_FRAME_SIZE_MAX)) > + return -EINVAL; > + Should we set MTU > 1500 (Jumbo frame) if device is not configured to run with jumbo frame? If no, should we check the jumbo config is enabled for the current device? > + /* mtu setting is forbidden if port is start */ > + if (dev_data->dev_started) { > + PMD_DRV_LOG(ERR, > + "port %d must be stopped before configuration", > + dev_data->port_id); > + return -EBUSY; > + } > + > + if (frame_size > ETHER_MAX_LEN) > + dev_data->dev_conf.rxmode.offloads |= > + DEV_RX_OFFLOAD_JUMBO_FRAME; > + else > + dev_data->dev_conf.rxmode.offloads &= > + ~DEV_RX_OFFLOAD_JUMBO_FRAME; > + > + dev_data->dev_conf.rxmode.max_rx_pkt_len = frame_size; > + > + return 0; > +} > -- > 1.9.3