openwrt/target/linux
Rafał Miłecki e291e49da3 bcm53xx: enable & setup packet steering
Packet steering can improve NAT masquarade performance on Northstar by
40-50%. It makes reaching 940-942 Mb/s possible on BCM4708 (and
obviously BCM47094 too). Add scripts setting up the most optimal
Northstar setup.

Below are testing results for running iperf TCP traffic from LAN to WAN.
They were used to pick up golden values.

┌──────────┬──────────┬────────────────────┬────────────────────┐
│   eth0   │  br-lan  │ flow_offloading=0  │ flow_offloading=1  │
│          │          ├─────────┬──────────┼─────────┬──────────┤
│ rps_cpus │ rps_cpus │ BCM4708 │ BCM47094 │ BCM4708 │ BCM47094 │
├──────────┼──────────┼─────────┼──────────┼─────────┼──────────┤
│        0 │        0 │     387 │      671 │     707 │      941 │
│        0 │        1 │     343 │      576 │     705 │      941 │
│        0 │        2 │   ✓ 574 │    ✓ 941 │     704 │      940 │
│        1 │        0 │     320 │      549 │     561 │      941 │
│        1 │        1 │     327 │      551 │     553 │      941 │
│        1 │        2 │     523 │    ✓ 940 │     559 │      940 │
│        2 │        0 │     383 │      652 │   ✓ 940 │      941 │
│        2 │        1 │     448 │      754 │   ✓ 942 │      941 │
│        2 │        2 │     404 │      655 │   ✓ 941 │      941 │
└──────────┴──────────┴─────────┴──────────┴─────────┴──────────┘

Above tests were performed with all eth0 interrupts handled by CPU0.
Setting "echo 2 > /proc/irq/38/smp_affinity" was tested on BCM4708 but
it didn't increased speeds (just required different steering):

┌──────────┬──────────┬───────────┐
│   eth0   │  br-lan  │ flow_offl │
│   rx-0   │   rx-0   │ oading=0  │
│ rps_cpus │ rps_cpus │  BCM4708  │
├──────────┼──────────┼───────────┤
│        0 │        0 │       384 │
│        0 │        1 │     ✓ 574 │
│        0 │        2 │       348 │
│        1 │        0 │       383 │
│        1 │        1 │       412 │
│        1 │        2 │       448 │
│        2 │        0 │       321 │
│        2 │        1 │       520 │
│        2 │        2 │       327 │
└──────────┴──────────┴───────────┘

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit fcbd39689e)
2022-07-08 13:02:39 +02:00
..
apm821xx kernel: bump 5.10 to 5.10.127 2022-07-01 20:28:35 +02:00
archs38 generic: enable CRYPTO_LIB_BLAKE2S[_X86|_ARM] 2022-06-27 22:34:07 +02:00
armvirt generic: enable CRYPTO_LIB_BLAKE2S[_X86|_ARM] 2022-06-27 22:34:07 +02:00
at91 kernel: bump 5.10 to 5.10.121 2022-06-27 22:34:07 +02:00
ath25 kernel: Refresh patches for all targets 2022-07-03 18:54:04 +02:00
ath79 kernel: Refresh patches for all targets 2022-07-03 18:54:04 +02:00
bcm27xx kernel: Refresh patches for all targets 2022-07-03 18:54:04 +02:00
bcm47xx generic: enable CRYPTO_LIB_BLAKE2S[_X86|_ARM] 2022-06-27 22:34:07 +02:00
bcm53xx bcm53xx: enable & setup packet steering 2022-07-08 13:02:39 +02:00
bcm63xx kernel: bump 5.10 to 5.10.121 2022-06-27 22:34:07 +02:00
bcm4908 generic: enable CRYPTO_LIB_BLAKE2S[_X86|_ARM] 2022-06-27 22:34:07 +02:00
bmips bmips: dgnd3700v2: fix network config 2022-06-07 21:36:58 +02:00
gemini generic: enable CRYPTO_LIB_BLAKE2S[_X86|_ARM] 2022-06-27 22:34:07 +02:00
generic kernel: drop patch adding hardcoded kernel compilation flags 2022-07-08 11:28:01 +02:00
imx imx: fix USB support 2022-03-11 00:04:05 +01:00
ipq40xx kernel: Refresh patches for all targets 2022-07-03 18:54:04 +02:00
ipq806x generic: enable CRYPTO_LIB_BLAKE2S[_X86|_ARM] 2022-06-27 22:34:07 +02:00
kirkwood generic: enable CRYPTO_LIB_BLAKE2S[_X86|_ARM] 2022-06-27 22:34:07 +02:00
lantiq kernel: bump 5.10 to 5.10.122 2022-06-27 22:34:07 +02:00
layerscape generic: enable CRYPTO_LIB_BLAKE2S[_X86|_ARM] 2022-06-27 22:34:07 +02:00
malta generic: enable CRYPTO_LIB_BLAKE2S[_X86|_ARM] 2022-06-27 22:34:07 +02:00
mediatek kernel: Add missing mediatek configuration options 2022-07-06 21:09:39 +02:00
mpc85xx kernel: bump 5.10 to 5.10.122 2022-06-27 22:34:07 +02:00
mvebu mvebu: cortexa72: fix ImageBuilder for IEI Puzzle devices 2022-07-04 19:58:13 +01:00
mxs generic: enable CRYPTO_LIB_BLAKE2S[_X86|_ARM] 2022-06-27 22:34:07 +02:00
octeon generic: enable CRYPTO_LIB_BLAKE2S[_X86|_ARM] 2022-06-27 22:34:07 +02:00
octeontx generic: enable CRYPTO_LIB_BLAKE2S[_X86|_ARM] 2022-06-27 22:34:07 +02:00
omap generic: enable CRYPTO_LIB_BLAKE2S[_X86|_ARM] 2022-06-27 22:34:07 +02:00
oxnas kernel: bump 5.10 to 5.10.121 2022-06-27 22:34:07 +02:00
pistachio kernel: Refresh patches for all targets 2022-07-03 18:54:04 +02:00
qoriq qoriq: enable Book-E Watchdog Timer 2022-07-01 16:42:32 +03:00
ramips ramips: improve YunCore AX820 LEDs 2022-07-01 20:58:16 +02:00
realtek kernel: Refresh patches for all targets 2022-07-03 18:54:04 +02:00
rockchip generic: enable CRYPTO_LIB_BLAKE2S[_X86|_ARM] 2022-06-27 22:34:07 +02:00
sunxi generic: enable CRYPTO_LIB_BLAKE2S[_X86|_ARM] 2022-06-27 22:34:07 +02:00
tegra generic: enable CRYPTO_LIB_BLAKE2S[_X86|_ARM] 2022-06-27 22:34:07 +02:00
uml generic: enable CRYPTO_LIB_BLAKE2S[_X86|_ARM] 2022-06-27 22:34:07 +02:00
x86 x86: 64: Add kmod-igc to default packages 2022-06-29 22:40:04 +02:00
zynq generic: enable CRYPTO_LIB_BLAKE2S[_X86|_ARM] 2022-06-27 22:34:07 +02:00
Makefile target: use SPDX license identifiers on Makefiles 2021-02-10 15:47:18 +01:00