Merge remote-tracking branch 'qos/NSS-12.5-K6.x' into NSS-12.5-K6.x

This commit is contained in:
breeze303 2024-10-05 15:22:46 +08:00
commit 6b89673857
5 changed files with 20 additions and 9 deletions

View File

@ -1,7 +1,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=qca-nss-drv
PKG_RELEASE:=13
PKG_RELEASE:=14
PKG_SOURCE_URL:=https://git.codelinaro.org/clo/qsdk/oss/lklm/nss-drv.git
PKG_SOURCE_PROTO:=git

View File

@ -73,14 +73,14 @@ echo -e "${bold}${red} IPQ DATE${reset}: ${green}${ipq_date}${reset}"
echo -e "${bold}${red} NSS FW${reset}: ${cyan}${nss_version}${reset}"
echo -e "${bold}${red} MAC80211${reset}: ${white}${mac80211_version}${reset}${reset}"
echo -e "${bold}${red} ATH11K FW${reset}: ${cyan}${ath11k_fw}${reset}"
echo -ne "${bold}${red} GRO${reset}${white}: "
echo -ne "${bold}${red} GRO FRAG${reset}: ${white}"
count=0
for i in wan br-lan /sys/class/net/br-lan/brif/*; do
i=${i##*\/}
ethtool -k ${i} | awk -v count=$count -v i=$i -v white=$white -v green=$green -v r=$reset '
/generic-receive-offload/ {
/rx-gro-list/ {
if(count>0) tab=" "
if($2=="on") color=green
printf "%s%-11s : %s%s%s\n",tab,i,color,$2,r

View File

@ -1,7 +1,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=qca-nss-ecm
PKG_RELEASE:=1
PKG_RELEASE:=2
PKG_SOURCE_URL:=https://git.codelinaro.org/clo/qsdk/oss/lklm/qca-nss-ecm.git
PKG_SOURCE_PROTO:=git

View File

@ -100,16 +100,17 @@ disable_offloads() {
fi
}
disable_gro() {
local interface="$1"
disable_feature() {
local feature="$1"
local interface="$2"
local cmd
# Construct ethtool command line
cmd="-K $interface gro off"
cmd="-K $interface $feature off"
# Try to disable flow control
ethtool $cmd 1> /dev/null 2> /dev/null
log $? "Generic Receive Offload" "$interface"
log $? "Disabling feature: $feature" "($interface)"
}
disable_flow_control() {
@ -180,6 +181,7 @@ disable_offload() {
config_get_bool disable_flow_control general disable_flow_control 0
config_get_bool disable_interrupt_moderation general disable_interrupt_moderation 0
config_get_bool disable_gro general disable_gro 0
config_get_bool disable_gro_list general disable_gro_list 1
[ -z $1 ] && interface=$(echo /sys/class/net/*) || interface=$*
@ -192,7 +194,15 @@ disable_offload() {
fi
if [ "$disable_gro" -eq 1 ]; then
disable_gro "$i"
disable_feature gro "$i"
fi
if [ "$disable_gro_list" -eq 1 ]; then
disable_feature "rx-gro-list" "$i"
else
logger -p user.warn -s "[ethtool] Enabling rx-gro-list (GRO Fraglist) will break UDP related traffic. (e.g. DNS, DHCP)"
logger -p user.warn -s "[ethtool] Leave this feature enabled unless you know what you are doing."
logger -p user.warn -s "[ethtool] Run \`uci set ecm.general.disable_gro_list=1 && uci commit ecm && service qca-nss-ecm restart\`"
fi
if [ "$disable_offloads" -eq 1 ]; then

View File

@ -7,3 +7,4 @@ config ecm 'general'
option disable_flow_control '0'
option disable_interrupt_moderation '0'
option disable_gro '0'
option disable_gro_list '1'