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>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43108 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
John Crispin 2014-10-29 19:43:59 +00:00
parent 8d61307dec
commit a5ef2aabf4
1 changed files with 1467 additions and 491 deletions