[meta-freescale] Jumbo Frames on T4240RDB Rev. 2

zhenhua.luo at freescale.com zhenhua.luo at freescale.com
Fri Mar 27 02:53:30 PDT 2015


You need to enable the “Optimize for jumbo frames” option which is under Device Drivers  ---> Network device support  ---> Ethernet driver support  ---> --- DPAA Ethernet->
FSL_DPAA_ETH_JUMBO_FRAME - "Optimize for jumbo frames"
Optimizes the DPAA Ethernet driver throughput for large frames termination traffic (e.g. 4K and above).

On FMan v2 platforms this option requires modifications of the device tree, otherwise the ping will not work. Include 'qoriq-fman-0-chosen-fifo-resize.dtsi' in 'qoriq-fman-0.dtsi' and 'qoriq-fman-1-chosen-fifo-resize.dtsi' in 'qoriq-fman-1.dtsi'
/include/ "qoriq-fman-0-chosen-fifo-resize.dtsi"

Using this option in combination with small frames increases significantly the driver's memory footprint and may even deplete the system memory.

For bootargs, please refer to followings:
fsl_fm_max_frm
The Frame Manager discards both Rx and Tx frames that are larger than a specific Layer2 MAXFRM value. The DPAA Ethernet driver won't allow one to set an interface’s MTU too high such that it would produce Ethernet frames larger than MAXFRM. The maximum value one can use as the MTU for any interface is (MAXFRM - 22) bytes, where 22 is the size of an Eth+VLAN header (18 bytes), plus the Layer2 FCS (4 bytes).
Currently, the value of MAXFRM is set at boot-time and cannot be changed without rebooting the system.
The default MAXFRM is 1522, allowing for MTUs up to 1500. If a larger MTU is desired, one would have to reboot and reconfigure the system as described next. The maximum MAXFRM is 9600
The MAXFRM can be set in two ways:
as a Kconfig option (CONFIG_FSL_FM_MAX_FRAME_SIZE):
Device Drivers
+-> Network device support
  +-> Ethernet driver support
    +-> Freescale devices
       +-> Frame Manager support
          +-> Freescale Frame Manager (datapath) support
            +-> Maximum L2 frame size
as a bootarg:
In no-HV scenarios: In the u-boot environment, add "fsl_fm_max_frm=<your_MAXFRM>" directly to the "bootargs" variable.

In Hypervisor-based scenarios: Add or modify the "chosen" node in Hypervisor device tree having a "bootargs" property specifying "fsl_fm_max_frm=<your_MAXFRM>;".

Note that any value set directly in the kernel bootargs will override the Kconfig default. If not explicitly set in the bootargs, the Kconfig value will be used.

Symptoms of Misconfigured MAXFRM
MAXFRM directly influences the partitioning of FMan's internal MURAM among the available Ethernet ports, because it determines the value of an FMan internal parameter called "FIFO Size". Depending on the value of MAXFRM and the number of ports being probed, some of these may not be probed because there is not enough MURAM for all of them. In such cases, one will see an error message in the boot console.


Best Regards,

Zhenhua

From: meta-freescale-bounces at yoctoproject.org [mailto:meta-freescale-bounces at yoctoproject.org] On Behalf Of Vigneshwaren Sankaran
Sent: Friday, March 27, 2015 3:51 PM
To: meta-freescale at yoctoproject.org
Subject: [meta-freescale] Jumbo Frames on T4240RDB Rev. 2

The error I get :

fsl_dpa ethernet.23 fm1-mac10: Invalid L3 mtu 9000 (must be between 64 and 1500).

I tried setting an MTU higher than 1500, the driver seems to not support a value higher than 1500

ifconfig fm1-mac10 mtu 9000

The port was a 10Gig port. Why is this? How can I enable jumbo frames? Is there a kernel config to support the same.

Thanks

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/meta-freescale/attachments/20150327/965f5c43/attachment-0001.html>


More information about the meta-freescale mailing list