I run ethtool to query the offload features of a NIC using the "ethtool -k" command, and the output is something as follows:
ethtool -k eth0
scatter-gather: on
tx-scatter-gather: on
tx-scatter-gather-fraglist: off **[fixed]**
What is the meaning of "[fixed]"?
Those are the parameters that can’t be changed; they are "fixed".
Here is an example. Let's take this output of ethtool:
large-receive-offload: off [fixed]
rx-vlan-offload: on
tx-vlan-offload: on
If I want to change rx-vlan-offload, I would do:
sudo ethtool -K eth0 rxvlan off
Output:
Actual changes:
tcp-segmentation-offload: on
tx-tcp-segmentation: on
tx-tcp6-segmentation: on
rx-vlan-offload: off
The result will be:
sudo ethtool -k eth0 | grep rx-vlan
Output
rx-vlan-offload: **off**
rx-vlan-filter: off [fixed]
rx-vlan-stag-hw-parse: off [fixed]
rx-vlan-stag-filter: off [fixed]
Now, let's try to modify a "fixed" parameter like "large-receive-offload":
sudo ethtool -K eth0 lro on
Output:
Cannot change large-receive-offload
Could not change any device features