packet-steering.sh 832 B

12345678910111213141516171819202122232425
  1. #!/bin/sh
  2. packet_steering="$(uci -q get network.@globals[0].packet_steering)"
  3. flow_offloading="$(uci -q get firewall.@defaults[0].flow_offloading)"
  4. flow_offloading_hw="$(uci -q get firewall.@defaults[0].flow_offloading_hw)"
  5. [ "$packet_steering" != 1 ] && {
  6. echo 0 > /sys/class/net/br-lan/queues/rx-0/rps_cpus
  7. echo 0 > /sys/class/net/eth0/queues/rx-0/rps_cpus
  8. exit 0
  9. }
  10. if [ ${flow_offloading_hw:-0} -gt 0 ]; then
  11. # HW offloading
  12. echo 0 > /sys/class/net/br-lan/queues/rx-0/rps_cpus
  13. echo 0 > /sys/class/net/eth0/queues/rx-0/rps_cpus
  14. elif [ ${flow_offloading:-0} -gt 0 ]; then
  15. # SW offloading
  16. # br-lan setup doesn't seem to matter for offloading case
  17. echo 2 > /sys/class/net/eth0/queues/rx-0/rps_cpus
  18. else
  19. # Default
  20. echo 2 > /sys/class/net/br-lan/queues/rx-0/rps_cpus
  21. echo 0 > /sys/class/net/eth0/queues/rx-0/rps_cpus
  22. fi