Hi David, > This patchset introduces 3 new ethdev operations: flow control parameters > retrieval and mtu get/set operations.
> Changes since v1: > - compute min rx buffer size at ethdev level (to simplify pmd mtu checks) > - introduce enable_scatter rx mode so that we can advise pmd to configure > scatter mode > - rework mtu get/set operations (based on Konstantin comments) > - pass checkpatch.pl checks 1) [PATCH v2 3/7] ethdev: store min rx buffer size @@ -879,6 +879,8 @@ rte_eth_rx_queue_setup(uint8_t port_id, uint16_t rx_queue_id, const struct rte_eth_rxconf *rx_conf, struct rte_mempool *mp) { ... + if (!ret) { + if (dev->data->min_rx_buf_size > mbp_buf_size) + dev->data->min_rx_buf_size = mbp_buf_size; + } + + return ret; Where do you set the initial value of min_rx_buf_size? Can't find it by some reason. 2) [PATCH v2 5/7] ethdev: add mtu accessors +static int +ixgbe_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu) +{ ... + if (!dev->data->scattered_rx && + frame_size > dev->data->min_rx_buf_size - RTE_PKTMBUF_HEADROOM) + return -EINVAL; Reading 82599 spec, 8.2.3.22.13 Max Frame Size - MAXFRS (0x04268; RW): " The MFS does not include the 4 bytes of the VLAN header. Packets with VLAN header can be as large as MFS + 4. When double VLAN is enabled, the device adds 8 to the MFS for any packets." So, I suppose it should be: if (!dev->data->scattered_rx && frame_size + 2 * IXGBE_VLAN_TAG_SIZE > dev->data->min_rx_buf_size - RTE_PKTMBUF_HEADROOM) Like in ixgbe_dev_rx_init(). 3) if ((mtu < 68) || (frame_size > dev_info.max_rx_pktlen)) Can we add a new define for min allowable MTU (68) as it used in few places. Thanks Konstantin