Skip to content

Tags: tabrisnet/BPI-Router-Linux

Tags

CI-BUILD-6.18.y-main-6.18.9-2026-02-09_1422

Toggle CI-BUILD-6.18.y-main-6.18.9-2026-02-09_1422's commit message
[RSS/LRO coverletter] Add RSS and LRO support

This series is currently only for discussion to get the upported SDK driver
changes in a good shape.
To use it some other parts are still missing like USXGMII PCS support on
mt7988.

patches are upported from mtk SDK:
- https://git01.mediatek.com/plugins/gitiles/openwrt/feeds/mtk-openwrt-feeds/+/refs/heads/master/master/files/target/linux/mediatek/patches-6.12/999-eth-08-mtk_eth_soc-add-register-definitions-for-rss-lro-reg.patch
- https://git01.mediatek.com/plugins/gitiles/openwrt/feeds/mtk-openwrt-feeds/+/refs/heads/master/master/files/target/linux/mediatek/patches-6.12/999-eth-09-mtk_eth_soc-add-rss-support.patch
- https://git01.mediatek.com/plugins/gitiles/openwrt/feeds/mtk-openwrt-feeds/+/refs/heads/master/master/files/target/linux/mediatek/patches-6.12/999-eth-10-mtk_eth_soc-add-hw-lro-support.patch

RSS / LRO

HW-acceleration for ending traffic. For routed traffic PPE is needed and
hw offloading in nftables.
Bridged traffic may need additional changes (openwrt use bridger utility).

RSS (Receive Side Scaling)

using 4 additional IRQ for spreading load

cat /proc/interrupts | grep ethernet

echo 1 > /proc/irq/105/smp_affinity
echo 2 > /proc/irq/106/smp_affinity
echo 4 > /proc/irq/107/smp_affinity
echo 8 > /proc/irq/108/smp_affinity

moving tx frame-engine irq to different cpu (here 3rd)
echo 4 > /proc/irq/103/smp_affinity

disable RPS (Receive Packet Steering) for all macs:

echo 0 > /sys/devices/platform/soc/15100000.ethernet/net/eth0/queues/rx-0/rps_cpus

pay attention on iperf-version (iperf 3.17 is ok, 3.12 is not)

traffic must be created using multiple streams so that it can be splitted, so use
multithreaded iperf3

on R4: bin/iperf3 -s
on the other side: iperf3 -c 192.168.1.1 -i 1 -P 4

you should reach ~9.3 GBit/s

and see spreading load over CPU cores

root@bpi-r4-phy-8G:~# cat /proc/interrupts | grep eth
103: 20 198366 0 0 GICv3 229 Level 15100000.ethernet
105: 3611 0 0 0 GICv3 221 Level 15100000.ethernet, 15100000.ethernet
106: 2 6842 0 0 GICv3 222 Level 15100000.ethernet, 15100000.ethernet
107: 4 0 27643 0 GICv3 223 Level 15100000.ethernet, 15100000.ethernet
108: 3 0 0 27925 GICv3 224 Level 15100000.ethernet, 15100000.ethernet

using the iperf3 from debian bookworm (3.12) results in only 6.7GBit/s, so
newer version is needed (not tested yet in trixie).

LRO(Large Receive Offload)

Add HW LRO RX rule:

ethtool -N [interface] flow-type tcp4 dst-ip [IP] action 0 loc [0/1]

Delete HW LRO RX rule:

ethtool -N [interface] delete [0/1]

Enable/Disable HW LRO rule:

ethtool -K [interface] lro [on | off]

Show the current offload features:

ethtool -k [interface]

example:

ethtool -N eth2 flow-type tcp4 dst-ip 192.168.1.1 action 0 loc 0
ethtool -K eth2 lro on ethtool -k eth2

using iperf(2) instead of iperf3 to reach full traffic!

verify with propritary debugfs (not part of this series)

Enable HW LRO rings
echo 4 1 > /proc/mtketh/hw_lro_auto_tlb
Enable HW LRO statistics
echo 5 1 > /proc/mtketh/hw_lro_auto_tlb

cat /proc/mtketh/hw_lro_stats

CI-BUILD-6.17-main-6.17.0-2025-10-10_1645

Toggle CI-BUILD-6.17-main-6.17.0-2025-10-10_1645's commit message
net: dsa: mxl: get mxl switch working

import driver changes from mtk-sdk with some cleanup

CI-BUILD-6.17-main-6.17.0-2025-10-09_1628

Toggle CI-BUILD-6.17-main-6.17.0-2025-10-09_1628's commit message
net: phy: mediatek: 2p5g: add missing priv

CI-BUILD-6.17-main-6.17.0-2025-10-07_0527

Toggle CI-BUILD-6.17-main-6.17.0-2025-10-07_0527's commit message
dts: r4lite: make emmc work

CI-BUILD-6.12-main-6.12.51-2025-10-07_0544

Toggle CI-BUILD-6.12-main-6.12.51-2025-10-07_0544's commit message
Merge tag 'v6.12.51' into 6.12-main

This is the 6.12.51 stable release

# -----BEGIN PGP SIGNATURE-----
#
# iQIzBAABCgAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmjjiUoACgkQONu9yGCS
# aT7qiA/+MTr3selqXRt/Nbl2CjFnc0aEmAufJEF+2BLJ+c5/z1PyB9I3F4kaDZDI
# mz9Um0RlZrK4NnGks6kipsO2uFrX0LJgElenKZDwP1vR88BXVx2MdDQygAXPiNpI
# LPJdY3yz0195v6vpf9AHUSK2x50XY40gTBLDb1Whv/Tus1rA3POQcHa7nMOv3G5e
# Z5fdKZic826i4uByXMenP/jhJ3QL6wfPZ6vX/CpOFrboKw4PLKcVNnZuvQZqnQmm
# NeIe+4HtEFZna2KJTBsPhU/oYy7MatBVVcyCzuQJCGAb6wFUg8rEQV17yJTrobH+
# xjm2QLasqt4JfJajVxJ43qqYyNXORBHJUcQa7zDQE6A5LBZ4JlVuOdP4xYmIaMM7
# Vv3uGSMBh6pnTh2MV2lmCejsKGzPXJ/zcBWmP+dSbkkfnFJEUBWZkpgxOkKLydmm
# N2LhAMkaiQBxw80xswQm/oU63th2KXYmk/mpHWfTR2hZcgZ3V4Uw7UluzL69mvPY
# KwOIEAJ5r1kCm8yWaWDjdR9bN63E/408NAy2tpAkgAHWyxhLwCQkGV/BWHrpC39e
# pjQDg0oTqe6Emhct7uXzxZ7NH15nwcS5uAIUrzcZw3HTf8/X90rtdkjbRAL6oi1R
# loc+P8ZeTXDCv0uE6f0T2SaYFpqAiX2jgJ8FuwDRHCkDl1eOLpA=
# =KoWw
# -----END PGP SIGNATURE-----
# gpg: Signature made Mon Oct  6 11:18:02 2025 CEST
# gpg:                using RSA key 647F28654894E3BD457199BE38DBBDC86092693E
# gpg: Can't check signature: No public key

CI-BUILD-6.6-main-6.6.110-2025-10-07_0546

Toggle CI-BUILD-6.6-main-6.6.110-2025-10-07_0546's commit message
Merge tag 'v6.6.110' into 6.6-main

This is the 6.6.110 stable release

# -----BEGIN PGP SIGNATURE-----
#
# iQIzBAABCgAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmjjiREACgkQONu9yGCS
# aT5wHhAAlK8vHrIN+TUJIvk7zTx/ueg7yQIxXJGtrsgFX3pJPFPNMxPoshFjB+Ta
# pv2/c+Qx5rFmlnCH9hWM62+03pWdDgvuTNFnmDVK8RvZGXtgGIywHxX1vXIOdoHi
# eGtwFhosb5clK4pjp4ZhMRa3TYbMt1PJJ+Dg1s1Gqr+CGxObob1RfGvm6j73+lCx
# diVFDP02swGmH3bRBm/u0dfrs62IBXw/x7BDG0cn0dpjb2e4hKYnoA0uXz4P0/P4
# uHsK4NuH2A15W7uGNf5QJ44P2gohGyGyeyT1iOVpRGinLT5PckTPKQZOKJXvkZNL
# re2/VZm8R3bhoY6Vi4SLA8kIe+cF70l0tr7XzDM8z+FSiTMFQDNnPKFUz7fCDJoD
# EEuLOaiuqS/oSDgxFwkNA5XtGE2aHv5Qh2YN+TpF7oFwyGAMkVmq5HSIINqqcIXp
# cdFiIAx29lVlXVNP9W4TnZ4YVtN4LkMlyNZCVznjfyXMEGsg+jzMQYd9DWQE7OLn
# R88BKklVQ9pInf8uGRBB3OEi7Oh17GwX5eLNVafrHa3g3aN5jeIErC0PM4ti5XWt
# LfWRMwYQTEgRv1cjD/uoEikzeQpq3hZbfNLIBD0wfXQZ0f4Qad40KftkFbeg3TZw
# 1FSvgF9/onNfJVvASv+jQJ0a3mlOF1ejgBR0JxpXmbv5kH85g5k=
# =fb2i
# -----END PGP SIGNATURE-----
# gpg: Signature made Mon Oct  6 11:17:05 2025 CEST
# gpg:                using RSA key 647F28654894E3BD457199BE38DBBDC86092693E
# gpg: Can't check signature: No public key

CI-BUILD-6.17-main-6.17.0-rc1-2025-10-06_2057

Toggle CI-BUILD-6.17-main-6.17.0-rc1-2025-10-06_2057's commit message
dts: r4lite: make emmc work

CI-BUILD-6.12-main-6.12.47-2025-09-14_1427

Toggle CI-BUILD-6.12-main-6.12.47-2025-09-14_1427's commit message
Merge tag 'v6.12.47' into 6.12-main

This is the 6.12.47 stable release

# -----BEGIN PGP SIGNATURE-----
#
# iQIzBAABCgAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmjC6SoACgkQONu9yGCS
# aT7O8Q//SfEDCryKst+eY9mLfDMULG0s+0nxhAWpuP2rK+YkQuXmUellVDFSYpdG
# DzKanK7CmPAuhl0Of0UjQbAByywwX2V56Y1+xGccduZYfgh/m0DQsB00D8DeQA85
# axKwSmw2t0jVNPGwBusKmWJ9D1Ef8/Lp2tZhjJJ61p4mYnOBP1Itz29M7vTIoD8u
# x2/5In98N1+T1/QGVe4tuj9uswFRohbAJo4XEA+/fApApEo/+dLNh8GoaJUTHsSe
# cF2TNgApAazJ7u7R8WEuwifwiFtwmZnXfX7VQ4uPNhkRaTMkz7+UFyGSApl5arTs
# iGpV2IAIuQrl3810pY+5e9cGXY6RyD9oxcoTUgm8qtLzA0VOmChC7+m50lxqYB+d
# 5ur9vFk3YZFp8gcl4anXf9TvfQaf/TIW9ZyFyAz24zKfWlW55OOoHo1rFiJR47zi
# LjJIeqbERsv1vK37QRJBEvWJHnAtP0fTNRKqb+v5R76FR+BEFV4TtrBKMrwERrPW
# kIK7Dnc884eafYN2qgcdG86jmea1+y/gzDu7se/6RgYralOfmd1aTBvHx1QYnxwW
# b3EnjBnALeWdarWXwUiF0HYqH8OW3Tfl4/GJUIUNPCOj1NnPpXGHm9liumi5nfz9
# +iLuxGA10nCHiXElaQSZhk9zAUFQsd75oHEUiRHYxkLCxsmN7oo=
# =kadx
# -----END PGP SIGNATURE-----
# gpg: Signature made Thu Sep 11 17:22:18 2025 CEST
# gpg:                using RSA key 647F28654894E3BD457199BE38DBBDC86092693E
# gpg: Can't check signature: No public key

CI-BUILD-6.6-main-6.6.106-2025-09-14_1441

Toggle CI-BUILD-6.6-main-6.6.106-2025-09-14_1441's commit message
Merge tag 'v6.6.106' into 6.6-main

This is the 6.6.106 stable release

# -----BEGIN PGP SIGNATURE-----
#
# iQIzBAABCgAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmjC6MkACgkQONu9yGCS
# aT6oOBAA1tLCDhHwJHx1MDbhcaQUYZdyxN+2vAC0utk4wRg1peUo9qh5rqO7gvB+
# OF3QfVbxZCvOR9JxI3kkkhyXKdSoJz5XpXTZ/YWsAZidLwfCr+Y9oM3T2gQkqdbe
# lA+liP/FWQDhIX7ZiLk0Hd0g+LGQT0sQ2BiQLDGxk73uYu+V+azysbG3KEIdrn2g
# JcpAPcD6i139kyVpN+cXwwaWfysGzO4OhIvfP8dXDs10xSvIpPIIBwMqCiIxyvah
# L2Oa0n7kWHuMCANtitANfkkL9gknmW+KVcQojWYQ0+IessCh8yn1U9vA3txWrd0E
# M+WpgEbTBbCX1kNHE1XUxhIGBxlJjUEF8oKT16VQS/jQpoIDvhPQ2U7f01tB/Jcx
# EEqmfl/1jEWLv/4y7NUZvgAdaXsHT/XZK1XeAVY/XwbSkkRLDvoxhuwGGJVVtNHL
# frCYBouzLyuUm3zyJUM0lhI64kkS+UDlJyVYH7f0yToqU8rlQKb0lTuhAO5bofKR
# F+KnJ+meq1AV7ZZD5BXLzKQocn9mKnM3yYKxaKS0+TCl8HWdXuKRSzqAezC/iLzF
# Phb4wBo8mjULxSLFp1dKNdAczwKQd0MFp+hxYPg032lGCD6rnwvr8QU99wmPBl3D
# b5TQiGy3YBfvpHdfEJLatRKDYXv1ePOMhvinsK2fBVXNW+fNi0Y=
# =9R97
# -----END PGP SIGNATURE-----
# gpg: Signature made Thu Sep 11 17:20:41 2025 CEST
# gpg:                using RSA key 647F28654894E3BD457199BE38DBBDC86092693E
# gpg: Can't check signature: No public key

CI-BUILD-6.1-main-6.1.152-2025-09-14_1443

Toggle CI-BUILD-6.1-main-6.1.152-2025-09-14_1443's commit message
Merge tag 'v6.1.152' into 6.1-main

This is the 6.1.152 stable release

# -----BEGIN PGP SIGNATURE-----
#
# iQIzBAABCgAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmjC6HoACgkQONu9yGCS
# aT7Dcg/6A3qGYtLnWmc+3vOQVmejLMlIktsa2AOgjyIgAlfnX0Chul9NvsZxFQMY
# r9SKhFsloHisuRpeAz1djw/GnFcmz1/GQSdLzXYr8dRUDhxhCSHwd6rR7eu9NGdj
# UvgIjDue5MYU9bSFMDxA2naezomHX9MfqXWPlqgBUTyMYcOeeD5Tt3N2o/WVuejj
# hwusabU7KGiphOlQPoZwai+uyMXbNeYnTkDG8B1kj2phjrpDiTgli4wO1FOxcdGg
# knPNZAQoti0noORoBP8fT8bM9RX6RiuJ+M5LUe9av5nDfF4VooNaZKb3eXwpCo5u
# INEXwXPE1XBNY0LtoOfWyl6kYdZgFELhG1fh6JEnIs0lFYTJDMlThkkXVvbfz7nT
# Nsz2p7zNMmu3Y6/UFcrk+4UiztTUbF+5WHsaKyFb2ExXfgiIbbZW4WPP/aUjU7+O
# 9OkJwi7HeoHMDxHE08kPeBQVhXEsIcjmS+RUS1WsEofCV8o2wZyfID7SF7kzWNLk
# ag6+jx8FMdbqWnW9D39tQqbcsOsqcRAIMJj4UYeR2aCB5uRSxero73LT+rGsE6TZ
# FtlfNo1PIJqBR9ani4yYUYtpkwi3xDCFEbFECPGhoBcv/asGQkTuHDFR7uzH5F0E
# LvCayi2GMvgG9jGUtSTUhsdMf3ZkEJbAtKfWZXfR+eITCWeoT1M=
# =UMvW
# -----END PGP SIGNATURE-----
# gpg: Signature made Thu Sep 11 17:19:22 2025 CEST
# gpg:                using RSA key 647F28654894E3BD457199BE38DBBDC86092693E
# gpg: Can't check signature: No public key