[dpdk-dev] [PATCH v2 05/17] net/hinic: add allmulticast mode and MTU set

Ferruh Yigit ferruh.yigit at intel.com
Thu Sep 26 20:47:54 CEST 2019


On 9/25/2019 3:30 PM, Xiaoyun wang wrote:
> When enable allmulticast mode, all multicast packets
> can be received. This patch also adds support for mtu set,
> the range of MTU is from 256 to 9600.
> 
> Signed-off-by: Xiaoyun wang <cloud.wangxiaoyun at huawei.com>

<...>

> +static int hinic_dev_set_mtu(struct rte_eth_dev *dev, uint16_t mtu)
> +{
> +	int ret = 0;
> +	struct hinic_nic_dev *nic_dev = HINIC_ETH_DEV_TO_PRIVATE_NIC_DEV(dev);
> +
> +	PMD_DRV_LOG(INFO, "Set port mtu, port_id: %d, mtu: %d, max_pkt_len: %d",
> +			dev->data->port_id, mtu, HINIC_MTU_TO_PKTLEN(mtu));
> +
> +	if (mtu < HINIC_MIN_MTU_SIZE || mtu > HINIC_MAX_MTU_SIZE) {
> +		PMD_DRV_LOG(ERR, "Invalid mtu: %d, must between %d and %d",
> +				mtu, HINIC_MIN_MTU_SIZE, HINIC_MAX_MTU_SIZE);
> +		return -EINVAL;
> +	}
> +
> +	ret = hinic_set_port_mtu(nic_dev->hwdev, mtu);
> +	if (ret) {
> +		PMD_DRV_LOG(ERR, "Set port mtu failed, ret: %d", ret);
> +		return ret;
> +	}
> +
> +	/* update max frame size */
> +	dev->data->dev_conf.rxmode.max_rx_pkt_len = HINIC_MTU_TO_PKTLEN(mtu);
> +	nic_dev->mtu_size = mtu;
> +
> +	return ret;
> +}

There are (relatively) new 'min_mtu' & 'max_mtu' in 'struct rte_eth_dev_info',
since MTU is enabled you may prefer to set them in "hinic_dev_infos_get()'


More information about the dev mailing list