As in this question, I'm looking at the output of ethtool -k eth0
, and I see that some things are marked "[fixed]":
rx-checksumming: off [fixed]
tx-checksumming: off
tx-checksum-ipv4: off [fixed]
tx-checksum-ip-generic: off
tx-checksum-ipv6: off [fixed]
tx-checksum-fcoe-crc: off [fixed]
tx-checksum-sctp: off [fixed]
I understand that this means they can't be changed, but I can't figure out where that comes from. Is it something that was compiled into my kernel?
These features being on/off and fixed or tunable depends:
Example: many Ethernet chips have capabilities that can ease (offload) the software job, but the kernel maintainers are reluctant to use these. See here "why" regarding TCP offloading, which was from November 2009: TCP Offload Engine (TOE)
In any case, this should not worry you. Seeing for example:
rx-checksumming: off [fixed]
...does not mean you won’t have an RX checksum; it just means that it will be done by kernel code outside of your Ethernet driver code.