[PATCH v4 15/15] net/zxdh: mtu update ops implementations

Stephen Hemminger stephen at networkplumber.org
Sat Dec 21 01:33:24 CET 2024


On Wed, 18 Dec 2024 17:26:02 +0800
Junlong Wang <wang.junlong1 at zte.com.cn> wrote:

> +int zxdh_dev_mtu_set(struct rte_eth_dev *dev, uint16_t new_mtu)
> +{
> +	struct zxdh_hw *hw = dev->data->dev_private;
> +	struct zxdh_panel_table panel = {0};
> +	struct zxdh_port_attr_table vport_att = {0};
> +	uint16_t vfid = zxdh_vport_to_vfid(hw->vport);
> +	uint16_t max_mtu = 0;
> +	int ret = 0;

useless initializations.

> +
> +	max_mtu = ZXDH_MAX_RX_PKTLEN - RTE_ETHER_HDR_LEN - RTE_VLAN_HLEN - ZXDH_DL_NET_HDR_SIZE;
> +	if (new_mtu < ZXDH_ETHER_MIN_MTU || new_mtu > max_mtu) {
> +		PMD_DRV_LOG(ERR, "invalid mtu:%d, range[%d, %d]",
> +				new_mtu, ZXDH_ETHER_MIN_MTU, max_mtu);
> +		return -EINVAL;
> +	}

These checks are redundant. See rte_ethdev.c::eth_dev_validate_mtu function.
It already checks the mtu against values returned from info_get.

> +
> +	if (dev->data->mtu == new_mtu)
> +		return 0;

This should be done in ethdev_set_mtu but does not look like that is checked.
Will look into fixing it there.



More information about the dev mailing list