[dpdk-dev] [Bug 297] max_rx_pkt_len issues with i40e dpdk SRIOV driver net_i40e_vf.

bugzilla at dpdk.org bugzilla at dpdk.org
Thu Jun 27 08:00:22 CEST 2019


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

            Bug ID: 297
           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 at dpdk.org
          Reporter: lavaraj at gmail.com
  Target Milestone: ---

Created attachment 41
  --> https://bugs.dpdk.org/attachment.cgi?id=41&action=edit
patch file for the workaround solution

When deployed an SRIOV setup with Intel 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

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


More information about the dev mailing list