On 4/25/2021 9:03 AM, Jiawen Wu wrote:
> Fix to set MTU bigger than mbuf size when device is stopped, scattered
> rx may be enabled in next starting, exempt from setting in EAL parameters.
> 

The main change is 'dev_started' check, right? Can you please reword above
paragraph to clarify it?

> Fixes: a2beaa4a769e ("net/txgbe: support VF MTU update")
> Cc: sta...@dpdk.org
> 
> Signed-off-by: Jiawen Wu <jiawe...@trustnetic.com>
> ---
>  drivers/net/txgbe/txgbe_ethdev_vf.c | 12 +++++++-----
>  1 file changed, 7 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/net/txgbe/txgbe_ethdev_vf.c 
> b/drivers/net/txgbe/txgbe_ethdev_vf.c
> index 3a5123733e..5597968e18 100644
> --- a/drivers/net/txgbe/txgbe_ethdev_vf.c
> +++ b/drivers/net/txgbe/txgbe_ethdev_vf.c
> @@ -1115,7 +1115,7 @@ txgbevf_dev_set_mtu(struct rte_eth_dev *dev, uint16_t 
> mtu)
>  {
>       struct txgbe_hw *hw;
>       uint32_t max_frame = mtu + RTE_ETHER_HDR_LEN + RTE_ETHER_CRC_LEN;
> -     struct rte_eth_rxmode *rx_conf = &dev->data->dev_conf.rxmode;
> +     struct rte_eth_dev_data *dev_data = dev->data;
>  
>       hw = TXGBE_DEV_HW(dev);
>  
> @@ -1123,13 +1123,15 @@ txgbevf_dev_set_mtu(struct rte_eth_dev *dev, uint16_t 
> mtu)
>                       max_frame > RTE_ETHER_MAX_JUMBO_FRAME_LEN)
>               return -EINVAL;
>  
> -     /* refuse mtu that requires the support of scattered packets when this
> -      * feature has not been enabled before.
> +     /* If device is started, refuse mtu that requires the support of
> +      * scattered packets when this feature has not been enabled before.
>        */
> -     if (!(rx_conf->offloads & DEV_RX_OFFLOAD_SCATTER) &&
> +     if (dev_data->dev_started && !dev_data->scattered_rx &&
>           (max_frame + 2 * TXGBE_VLAN_TAG_SIZE >
> -          dev->data->min_rx_buf_size - RTE_PKTMBUF_HEADROOM))
> +          dev->data->min_rx_buf_size - RTE_PKTMBUF_HEADROOM)) {
> +             PMD_INIT_LOG(ERR, "Stop port first.");
>               return -EINVAL;
> +     }
>  
>       /*
>        * When supported by the underlying PF driver, use the TXGBE_VF_SET_MTU
> 

Reply via email to