ramips: improve ralink ethernet driver

Change list:
* add tx scatter gather function.
* add software rx vlan offload to let GRO work.
* add jumbo frame support. because use build_skb so max MTU is 3812.
* enable hardware tx vlan.
* enable GRO and remove LRO. because it can improve performance and can work on forwarding.
* enable/fix tx padding function.
* let napi handle tx clean up.
* support ethtool operation. now support message level, hardware status and coalesce.
* ethtool support use mdio to get phy status only on mt7620. need modify dts file and add phy info to support it.

Notes:
* build and test on rt2880, rt3052, rt3352, rt3662, rt5350 and mt7620a.
* TCP NAT performance improve. test with netperf.
  - rt2880(gigabit) from 5x to 12x Mbps.
  - rt3x5x from 6x to 94 Mbps.
  - rt5250 from 5x to 8x Mbps.
  - rt3662(gigabit) from 6x to 42x Mbps with GRO. 23x Mbps without GRO. 66x Mbps with jumbo frame.
  - mt7620 still 94Mbps.
* TSO function not tested. because i don't have mt7620 with eco >= 5. and the hardware don't support to set MSS. it will have problem.

Signed-off-by: michael lee <igvtee@gmail.com>

SVN-Revision: 43108
This commit is contained in:
John Crispin 2014-10-29 19:43:59 +00:00
parent 62107ff367
commit 152d692a1f