openwrtv3/target/linux
René Mayrhofer e457d22261 Make GBit switch work on RB2011
This change is required to make the GBit switch work on my Mikrotik Routerboard RB2011UiAS-RM, and I assume that the other RB2011 variants are exactly the same in terms of the switch. I have tested the board without and with the patch and confirm that the GBit ports are not supported at all (i.e. no communication works) with the current version in trunk and that everything works with the patch applied. The test box has been running for a few days with the patch applied, and does not show any performance problems in a test setting. I have not used it with LEDE in production so far, but with a previous turnk version of OpenWRT for many years - with the same patch applied. I therefore have good indication that it is stable.

For the record, the switch chip on my test box is identified as
	switch0: Atheros AR8327 rev. 4 switch registered on ag71xx-mdio.0

The value 0x6f000000 has been taken from the table at https://wiki.openwrt.org/toh/mikrotik/rb2011uias with the previous discussion thread still online at https://lists.openwrt.org/pipermail/openwrt-devel/2014-December/029949.html.
One definite improvement from the older OpenWRT trunk version I have been running in production and current LEDE trunk is that the SFP interface can be kept in the default configuration without excessive kernel messages about it constantly going up and down. I have not yet tested an actual SFP module, though.

Performance seems to be reasonable. Routing between two GBit ports on that switch separated by different VLANs with the default firewall ruleset (and one additional rule two allow traffic between the VLANs), but without NAT, iperf3 results are:
	[ ID] Interval           Transfer     Bandwidth       Retr
	[  4]   0.00-10.00  sec   508 MBytes   426 Mbits/sec  102             sender
	[  4]   0.00-10.00  sec   506 MBytes   425 Mbits/sec                  receiver
With a connection going through NAT (also 2 ports on the same GBit switch, same ruleset, but NAT active), routing performance drops to around 250 MBit/s.
(Note that RouterOS achieves beyond 900 MBit/s on the same hardware with the default rule set and the FastTrack rule active even for NAT, see https://wiki.mikrotik.com/index.php?title=Manual:IP/Fasttrack and http://www.mikrotik.com/download/share/FastTrack.pdf).

Summarizing, I strongly recommend to apply this patch in trunk, so that the GBit switch chip rev. 4 can be supported upstream in the next LEDE release (hopefully soon).

Signed-off-by: René Mayrhofer <rene@mayrhofer.eu.org>
2017-05-25 09:22:42 +02:00
..
adm5120 adm5120: mark the rb1xx subtarget as broken 2017-01-16 20:40:12 +01:00
adm8668 build: fix subtarget descriptions 2016-09-04 13:35:11 +02:00
apm821xx kernel: update kernel 4.9 to 4.9.29 2017-05-21 21:51:22 +02:00
ar7 ar7: diag.sh: use common status_led_* functions 2017-03-15 23:14:54 +01:00
ar71xx Make GBit switch work on RB2011 2017-05-25 09:22:42 +02:00
arc770 kernel: update kernel 4.9 to 4.9.29 2017-05-21 21:51:22 +02:00
archs38 kernel: update kernel 4.9 to 4.9.29 2017-05-21 21:51:22 +02:00
armvirt armvirt: 64: enable usb support 2017-05-03 23:20:12 +08:00
at91 kernel: remove ubifs xz decompression support 2017-01-09 14:07:06 +01:00
ath25 kernel: backport MIPS changes introducing a separate IRQ stack 2017-01-15 18:25:54 +01:00
au1000 kernel: update kernel 3.18 to version 3.18.43 2016-10-24 20:25:14 +03:00
bcm53xx kernel: update kernel 4.9 to 4.9.29 2017-05-21 21:51:22 +02:00
brcm47xx kernel: update kernel 4.4 to 4.4.61 2017-04-15 18:26:41 +02:00
brcm63xx brcm63xx: fix invalid Asmax AR 1004g DTS reference 2017-05-05 19:58:49 +02:00
brcm2708 brcm2708: enable cpufreq 2017-05-23 17:32:49 +02:00
cns3xxx cns3xxx: enable mpcore watchdog 2017-04-12 12:13:16 +02:00
gemini gemini: rename config-default to config-4.4 2016-08-24 01:44:05 +03:00
generic kernel: update kernel 4.9 to 4.9.29 2017-05-21 21:51:22 +02:00
imx6 kernel: update kernel 4.9 to 4.9.29 2017-05-21 21:51:22 +02:00
ipq806x kernel: update kernel 4.9 to 4.9.29 2017-05-21 21:51:22 +02:00
ixp4xx kernel: update kernel 4.4 to 4.4.53 2017-03-12 15:46:02 +01:00
kirkwood kirkwood: set sata/usb led trigger for NSA3xx 2017-05-14 21:45:50 +02:00
lantiq lantiq: spi: double time out tolerance 2017-05-21 21:51:28 +02:00
layerscape kernel: update kernel 4.4 to 4.4.52 2017-03-03 18:17:47 +01:00
malta malta: restore "be" subtarget from being source-only 2017-03-05 16:34:17 +01:00
mcs814x kernel: remove kmod packages for bridge, stp, llc and 8021q 2017-02-09 14:49:34 +01:00
mediatek kernel: update kernel 4.9 to 4.9.29 2017-05-21 21:51:22 +02:00
mpc85xx kernel: update kernel 4.9 to 4.9.29 2017-05-21 21:51:22 +02:00
mvebu kernel: update kernel 4.9 to 4.9.29 2017-05-21 21:51:22 +02:00
mxs mxs: enable nvmem support 2017-02-10 11:05:57 +01:00
octeon octeon: port missing 4.9 patches 2017-05-04 00:40:15 +02:00
omap omap: rework image generation and profiles 2017-04-24 18:03:31 +02:00
omap24xx kernel: clean up usb gadget support 2016-09-15 13:11:21 +02:00
orion kernel: split up 980-arm_openwrt_machtypes.patch and move to target folders 2017-01-27 11:18:27 +01:00
oxnas kernel: update kernel 4.4 to version 4.4.69 2017-05-21 21:48:16 +02:00
pistachio kernel: update kernel 4.9 to 4.9.17 2017-03-26 12:23:19 +02:00
ppc40x build: fix subtarget descriptions 2016-09-04 13:35:11 +02:00
ppc44x ppc44x: mark as broken 2017-01-10 12:49:34 +01:00
ramips kernel: update kernel 4.9 to 4.9.29 2017-05-21 21:51:22 +02:00
rb532 kernel: remove ubifs xz decompression support 2017-01-09 14:07:06 +01:00
sunxi kernel: update kernel 4.4 to version 4.4.69 2017-05-21 21:48:16 +02:00
uml build: get rid of host.mk 2017-02-26 13:31:44 +01:00
x86 kernel: update kernel 4.9 to 4.9.29 2017-05-21 21:51:22 +02:00
xburst kernel: remove kmod packages for bridge, stp, llc and 8021q 2017-02-09 14:49:34 +01:00
zynq kernel: remove out of tree direct-io disable hack 2017-04-26 10:27:45 +02:00
Makefile