1 #!/bin/sh /etc/rc.common
11 procd_add_reload_trigger
"network"
12 procd_add_reload_trigger
"firewall"
13 procd_add_reload_interface_trigger
"lan"
17 local packet_steering
="$(uci -q get network.@globals[0].packet_steering)"
18 local num_cpus
="$(grep -c "^processor.
*:" /proc/cpuinfo)"
19 local flow_offloading
="$(uci -q get firewall.@defaults[0].flow_offloading)"
20 local flow_offloading_hw
="$(uci -q get firewall.@defaults[0].flow_offloading_hw)"
22 # Any steering on 1 CPU (BCM47081) worsens network performance
23 [ "$num_cpus" != 2 ] && return
25 [ "$packet_steering" != 1 ] && {
26 echo 0 > /sys
/class
/net
/br-lan
/queues
/rx-
0/rps_cpus
27 echo 0 > /sys
/class
/net
/eth
0/queues
/rx-
0/rps_cpus
31 if [ ${flow_offloading_hw:-0} -gt 0 ]; then
33 echo 0 > /sys
/class
/net
/br-lan
/queues
/rx-
0/rps_cpus
34 echo 0 > /sys
/class
/net
/eth
0/queues
/rx-
0/rps_cpus
35 elif [ ${flow_offloading:-0} -gt 0 ]; then
37 # br-lan setup doesn't seem to matter for offloading case
38 echo 2 > /sys
/class
/net
/eth
0/queues
/rx-
0/rps_cpus
41 echo 2 > /sys
/class
/net
/br-lan
/queues
/rx-
0/rps_cpus
42 echo 0 > /sys
/class
/net
/eth
0/queues
/rx-
0/rps_cpus