diff options
| author | Christian Marangi | 2025-11-18 11:50:50 +0000 |
|---|---|---|
| committer | Christian Marangi | 2025-11-18 11:50:50 +0000 |
| commit | b7aa0aa9bf603c01500f791df4636b35434c6224 (patch) | |
| tree | 1a9cc7d1f9e72e262f5cac786c7945cd77092e55 | |
| parent | bcae238390e8a5a91e075f42f5eba9d065b880ee (diff) | |
| download | openwrt-b7aa0aa9bf603c01500f791df4636b35434c6224.tar.gz | |
airoha: backport patch fixing offload support with GDM2 present
Backport upstream patch fixing offload support in the presence of GDM2
interface.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
| -rw-r--r-- | target/linux/airoha/patches-6.12/110-v6.19-net-airoha-Do-not-loopback-traffic-to-GDM2-if-it-is-.patch | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/target/linux/airoha/patches-6.12/110-v6.19-net-airoha-Do-not-loopback-traffic-to-GDM2-if-it-is-.patch b/target/linux/airoha/patches-6.12/110-v6.19-net-airoha-Do-not-loopback-traffic-to-GDM2-if-it-is-.patch new file mode 100644 index 0000000000..526243eed2 --- /dev/null +++ b/target/linux/airoha/patches-6.12/110-v6.19-net-airoha-Do-not-loopback-traffic-to-GDM2-if-it-is-.patch @@ -0,0 +1,31 @@ +From 8e0a754b0836d996802713bbebc87bc1cc17925c Mon Sep 17 00:00:00 2001 +From: Lorenzo Bianconi <lorenzo@kernel.org> +Date: Thu, 13 Nov 2025 18:19:38 +0100 +Subject: [PATCH] net: airoha: Do not loopback traffic to GDM2 if it is + available on the device + +Airoha_eth driver forwards offloaded uplink traffic (packets received +on GDM1 and forwarded to GDM{3,4}) to GDM2 in order to apply hw QoS. +This is correct if the device does not support a dedicated GDM2 port. +In this case, in order to enable hw offloading for uplink traffic, +the packets should be sent to GDM{3,4} directly. + +Fixes: 9cd451d414f6 ("net: airoha: Add loopback support for GDM2") +Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> +Link: https://patch.msgid.link/20251113-airoha-hw-offload-gdm2-fix-v1-1-7e4ca300872f@kernel.org +Signed-off-by: Jakub Kicinski <kuba@kernel.org> +--- + drivers/net/ethernet/airoha/airoha_ppe.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/net/ethernet/airoha/airoha_ppe.c ++++ b/drivers/net/ethernet/airoha/airoha_ppe.c +@@ -308,7 +308,7 @@ static int airoha_ppe_foe_entry_prepare( + if (!airoha_is_valid_gdm_port(eth, port)) + return -EINVAL; + +- if (dsa_port >= 0) ++ if (dsa_port >= 0 || eth->ports[1]) + pse_port = port->id == 4 ? FE_PSE_PORT_GDM4 + : port->id; + else |