The ethtool -X
command can also be used to
restrict the receive queues accessible by RSS. In the following example rss_cpus=4
and ethtool -x
identifies the four receive queues per interface:
# ethtool -x eth4
RX flow hash indirection table for eth4 with 4 RX ring(s):
0: 0 1 2 3 0 1 2 3
8: 0 1 2 3 0 1 2 3
16: 0 1 2 3 0 1 2 3
24: 0 1 2 3 0 1 2 3
32: 0 1 2 3 0 1 2 3
40: 0 1 2 3 0 1 2 3
48: 0 1 2 3 0 1 2 3
56: 0 1 2 3 0 1 2 3
64: 0 1 2 3 0 1 2 3
72: 0 1 2 3 0 1 2 3
80: 0 1 2 3 0 1 2 3
88: 0 1 2 3 0 1 2 3
96: 0 1 2 3 0 1 2 3
104: 0 1 2 3 0 1 2 3
112: 0 1 2 3 0 1 2 3
120: 0 1 2 3 0 1 2 3
To restrict RSS to spread receive flows evenly over the first two receive queues,
use ethtool -X
:
# ethtool -X eth4 equal 2
RX flow hash indirection table for eth4 with 4 RX ring(s):
0: 0 1 0 1 0 1 0 1
8: 0 1 0 1 0 1 0 1
16: 0 1 0 1 0 1 0 1
24: 0 1 0 1 0 1 0 1
32: 0 1 0 1 0 1 0 1
40: 0 1 0 1 0 1 0 1
48: 0 1 0 1 0 1 0 1
56: 0 1 0 1 0 1 0 1
64: 0 1 0 1 0 1 0 1
72: 0 1 0 1 0 1 0 1
80: 0 1 0 1 0 1 0 1
88: 0 1 0 1 0 1 0 1
96: 0 1 0 1 0 1 0 1
104: 0 1 0 1 0 1 0 1
112: 0 1 0 1 0 1 0 1
120: 0 1 0 1 0 1 0 1