From f70c9d6b28b277a45f622b0b354749f0f2518361 Mon Sep 17 00:00:00 2001 From: Sean Khan Date: Sat, 5 Oct 2024 20:27:30 -0400 Subject: [PATCH] nss-ecm: disable tx-checksumming on mesh interfaces `tx-checksumming` breaks multicast traffic over mesh interfaces. Add a check in hotplug script to see if interface is mesh interface and automatically disable `tx-checksumming`. --- qca-nss-ecm/Makefile | 2 +- qca-nss-ecm/files/disable_offloads.hotplug | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/qca-nss-ecm/Makefile b/qca-nss-ecm/Makefile index 44b23c7..08bb2ee 100644 --- a/qca-nss-ecm/Makefile +++ b/qca-nss-ecm/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=qca-nss-ecm -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_SOURCE_URL:=https://git.codelinaro.org/clo/qsdk/oss/lklm/qca-nss-ecm.git PKG_SOURCE_PROTO:=git diff --git a/qca-nss-ecm/files/disable_offloads.hotplug b/qca-nss-ecm/files/disable_offloads.hotplug index 585aa57..7ff09e5 100644 --- a/qca-nss-ecm/files/disable_offloads.hotplug +++ b/qca-nss-ecm/files/disable_offloads.hotplug @@ -6,6 +6,12 @@ if [ "$ACTION" = add ] && [ -n "$INTERFACE" ]; then disable_offload "$INTERFACE" + # Disable tx-checksumming for mesh interfaces, as it breaks multicast traffic + if [ "$DEVTYPE" = "wlan" ]; then + if ubus call network.wireless status | jsonfilter -e '@[*].interfaces[@.config.mode="mesh"].ifname' | grep -q "$INTERFACE"; then + disable_feature tx-checksumming "$INTERFACE" + fi + fi fi exit 0