openwrt/target/linux
Harshal Gohel 89322b4d69 rtl93xx: dsa: Handle lag_change properly
LACP frequently changes active/backup links. driver must also handle
dp->lag_tx_enabled.

This should only affect egress LAG table, ingress should not be touched.
To test, connect a known working 802.3ad compatible switch (Mikrotik).
Configure bond with 802.3ad on openwrt as well as mikrotik.
Observer active/backup links on openwrt with
```
for iface in <list of bond participants>; do
ip -d link show $iface
done
```
This should show ACTIVE/BACKUP status which must be synchronized with
the partner's ACTIVE/BACKUP status if LACP is working correctly.

Backup interface must not be chosen by the distribution algorithm to
transmit egress packet

At the moment, we have two parties involved in the selection of active LAG TX
ports:
- the bonding/DSA code which informs about activated/deactivated ports using
  .port_lag_change
- the HW which is deactivating ports based on the link state see
  RTL93XX_TRK_CTRL_LINK_DOWN_AVOID

In our case, the software is supposed to manage everything

Co-developed-by: Sven Eckelmann <se@simonwunderlich.de>
Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Signed-off-by: Harshal Gohel <hg@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/21740
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-03-07 20:33:22 +01:00
..
airoha airoha: an7581: disable NPU offload stats for eagle 2026-03-06 15:00:46 +01:00
apm821xx Revert "apm821xx: rename pciex to pcie" 2026-02-10 14:54:23 +01:00
armsr kernel: lift CONFIG_REGULATOR_VEXPRESS 'not set' to generic 2026-02-28 10:12:15 +01:00
at91 kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 2026-01-11 12:52:54 +01:00
ath79 ath79: tiny: increment compat version for RE355/RE450 2026-03-06 12:04:23 +01:00
bcm27xx kernel: refresh patches 2026-03-06 11:33:05 +01:00
bcm47xx kernel: bump 6.12 to 6.12.64 2026-01-15 01:22:47 +01:00
bcm53xx bcm53xx: fix switch standalone ports (like "wan") 2026-02-27 20:42:24 +01:00
bcm4908 kernel: disable non layout u-boot,env 2025-11-28 01:20:33 +01:00
bmips Revert "bmips: huawei-hg556a-c: use nvmem for wifi eeprom" 2026-02-20 23:01:29 +01:00
d1 d1: Enable LED driver for D1 builds 2026-01-23 10:35:36 +01:00
econet econet: en7528: add missing flash partition for DASAN H660GM-A Generic 2026-03-01 17:36:01 +01:00
gemini gemini: add support for Teltonika RUT104 2026-02-17 11:27:22 +01:00
generic kernel: net: sfp: improve Huawei MA5671a fixup 2026-03-06 14:00:03 +01:00
imx Revert "imx: cortexa53: remove KSZ9477 static driver" 2026-03-02 18:05:45 +01:00
ipq40xx ipq40xx: add support for Huawei AP4050DN 2026-03-07 18:52:31 +01:00
ipq806x generic: add CONFIG_REGULATOR_QCOM_LABIBB 2026-02-27 11:16:55 +01:00
ixp4xx ixp4xx: select the GPIO keys input package 2026-01-28 18:59:47 +01:00
kirkwood kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 2026-01-11 12:52:54 +01:00
lantiq lantiq: dm200: Fix loading PHY firmware 2026-02-28 14:36:16 +01:00
layerscape kernel: bump 6.12 to 6.12.71 2026-02-14 18:30:02 +01:00
loongarch64 loongarch64: set PREEMPT_NONE as default preemption model 2026-01-24 22:54:29 +01:00
malta malta: convert to Device macro image building 2026-02-11 00:08:34 +01:00
mediatek kernel: refresh patches 2026-03-06 11:33:05 +01:00
microchipsw kernel: refresh patches 2026-03-06 11:33:05 +01:00
mpc85xx mpc85xx: fix dtc warnings 2026-03-06 12:06:49 +01:00
mvebu kernel: refresh patches 2026-03-06 11:33:05 +01:00
mxs kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 2026-01-11 12:52:54 +01:00
octeon kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 2026-01-11 12:52:54 +01:00
omap kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 2026-01-11 12:52:54 +01:00
pistachio kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 2026-01-11 12:52:54 +01:00
qoriq package: uboot-qoriq: fix T4240RDB u-boot selection 2026-01-12 13:59:30 +01:00
qualcommax generic: add CONFIG_REGULATOR_QCOM_LABIBB 2026-02-27 11:16:55 +01:00
qualcommbe generic: add CONFIG_REGULATOR_QCOM_LABIBB 2026-02-27 11:16:55 +01:00
ramips ramips: modules: build I2C driver package for MT7621 2026-03-03 13:07:58 +01:00
realtek rtl93xx: dsa: Handle lag_change properly 2026-03-07 20:33:22 +01:00
rockchip kernel: bump 6.12 to 6.12.69 2026-02-07 17:20:33 +01:00
sifiveu kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 2026-01-11 12:52:54 +01:00
siflower treewide: remove of_platform.h include 2026-02-04 00:50:06 +01:00
starfive kernel: refresh patches 2026-03-06 11:33:05 +01:00
stm32 kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 2026-01-11 12:52:54 +01:00
sunxi kernel: reorder configuration options 2026-01-26 23:57:25 +01:00
tegra kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 2026-01-11 12:52:54 +01:00
uml kernel: cleanup CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU 2026-01-11 12:52:54 +01:00
x86 x86: base-files add support for Sophos 210r3 and 230r2 2026-02-12 23:55:29 +01:00
zynq kernel: lift CONFIG_REGULATOR_VEXPRESS 'not set' to generic 2026-02-28 10:12:15 +01:00
Makefile