[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