#!/bin/sh /etc/rc.common # Copyright (C) 2017 lean START=99 start() { rfc=4096 threads="$(grep -c "processor" "/proc/cpuinfo")" sysctl -w net.core.rps_sock_flow_entries="$(( rfc * threads ))" for fileRps in /sys/class/net/eth*/queues/rx-*/rps_cpus do echo "$threads" > "$fileRps" done for fileRfc in /sys/class/net/eth*/queues/rx-*/rps_flow_cnt do echo "$rfc" > "$fileRfc" done uci set network.@globals[0].packet_steering="1" uci commit network for i in $(ip address | awk -F ': ' '/eth[0-9]+/ {print $2}' | xargs) do { ethtool -K "$i" rx-checksum on ethtool -K "$i" tx-checksum-ip-generic on || { ethtool -K "$i" tx-checksum-ipv4 on ethtool -K "$i" tx-checksum-ipv6 on } ethtool -K "$i" tx-scatter-gather on ethtool -K "$i" gso on ethtool -K "$i" tso on ethtool -K "$i" ufo on } done } >"/dev/null" 2>&1