On 2/27/2019 9:45 PM, Ian Stokes wrote: > This commit sets the min and max supported MTU values for i40e devices > via the i40e_dev_info_get() function. Min MTU supported is set to > ETHER_MIN_MTU and max mtu is calculated as the max packet length > supported minus the transport overhead. > > Signed-off-by: Ian Stokes <ian.sto...@intel.com> > --- > drivers/net/i40e/i40e_ethdev.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c > index dca61f03a..caab1624f 100644 > --- a/drivers/net/i40e/i40e_ethdev.c > +++ b/drivers/net/i40e/i40e_ethdev.c > @@ -3499,6 +3499,8 @@ i40e_dev_info_get(struct rte_eth_dev *dev, struct > rte_eth_dev_info *dev_info) > dev_info->max_rx_pktlen = I40E_FRAME_SIZE_MAX; > dev_info->max_mac_addrs = vsi->max_macaddrs; > dev_info->max_vfs = pci_dev->max_vfs; > + dev_info->max_mtu = dev_info->max_rx_pktlen - I40E_ETH_OVERHEAD;
'I40E_ETH_OVERHEAD' [1] is the max overhead, when VLAN and QINQ is not configured, we are wasting 8 bytes, should we try to be more fine grained when setting the max_mtu? Does it worth the complexity? [1] (ETHER_HDR_LEN + ETHER_CRC_LEN + I40E_VLAN_TAG_SIZE * 2) > + dev_info->min_mtu = ETHER_MIN_MTU; > dev_info->rx_queue_offload_capa = 0; > dev_info->rx_offload_capa = > DEV_RX_OFFLOAD_VLAN_STRIP | >