https://bugs.dpdk.org/show_bug.cgi?id=296

            Bug ID: 296
           Summary: max_rx_pkt_len issues with i40e dpdk SRIOV driver
                    net_i40e_vf.
           Product: DPDK
           Version: 18.02
          Hardware: x86
                OS: All
            Status: CONFIRMED
          Severity: major
          Priority: Normal
         Component: ethdev
          Assignee: dev@dpdk.org
          Reporter: lava...@gmail.com
                CC: xiao.zh...@intel.com
  Target Milestone: ---
                CC: xiao.zh...@intel.com

When deployed an SRIOV setup with IntelĀ® Ethernet 700 Series 40GB NIC, 
we noticed the traffic with default mtu (1500) is not working.
The maximum MSS which was worked is 1456 ( instead of the default value 1460).

On debugging, it is found that the driver is actually setting the
dev_data->dev_conf.rxmode.max_rx_pkt_len to 1518(ETHER_MAX_LEN) which is wrong.

The max len is not including the vlan tag len( also not including QinQ).
The ETH Overhead is defined as below

#define I40E_ETH_OVERHEAD \
        (ETHER_HDR_LEN + ETHER_CRC_LEN + I40E_VLAN_TAG_SIZE * 2)    
which is equal to 26

So for supporting an MTU size of 1500, the max_rx_pkt_len should be 1526
instead of 1518.

The i40evf_dev_mtu_set API also wrongly checking the framesize against
ETHER_MAX_LEN(1518) to set the jumbo_frame mode.

The attached patch resolved the issue for our testing. 
Please verify and fix the issue.

Thanks and Regards,
Lava

--- Comment #1 from Xiao Zhang (xiao.zh...@intel.com) ---
Hi Lava,

I did not see the patch, can you upstream your patch to the community?

Thanks,
Xiao

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to