In diesem Schritt lernen Sie, wie Sie Netzwerk-Offload-Funktionen inspizieren und ändern. Dies sind erweiterte NIC-Funktionen (Network Interface Card), die es der Hardware ermöglichen, Aufgaben auszuführen, die sonst von der CPU übernommen würden, wie z. B. die Berechnung von Prüfsummen oder die Segmentierung von Daten. Das Auslagern dieser Aufgaben kann die Netzwerkleistung verbessern.
Zuerst zeigen wir die aktuellen Offload-Einstellungen für Ihre Schnittstelle mit dem Flag -k (oder --show-features) an.
ethtool -k eth0
Sie sehen eine Liste von Funktionen, von denen einige on (aktiviert) und einige off (deaktiviert) sind. Ein Status [fixed] bedeutet, dass die Einstellung vom Benutzer nicht geändert werden kann.
Features for eth0:
rx-checksumming: on [fixed]
tx-checksumming: on
tx-checksum-ipv4: off [fixed]
tx-checksum-ip-generic: on
tx-checksum-ipv6: off [fixed]
tx-checksum-fcoe-crc: off [fixed]
tx-checksum-sctp: off [fixed]
scatter-gather: on
tx-scatter-gather: on
tx-scatter-gather-fraglist: off [fixed]
tcp-segmentation-offload: on
tx-tcp-segmentation: on
tx-tcp-ecn-segmentation: on
tx-tcp-mangleid-segmentation: off
tx-tcp6-segmentation: on
generic-segmentation-offload: on
generic-receive-offload: on
large-receive-offload: off [fixed]
... (die Ausgabe ist lang und kann variieren)
Nun üben wir die Änderung einer dieser Einstellungen. Wir werden TX-Checksumming vorübergehend deaktivieren. Diese Operation erfordert Administratorrechte, daher müssen Sie sudo und das Flag -K (oder --features) verwenden.
sudo ethtool -K eth0 tx-checksumming off
Der Befehl meldet nun die vorgenommenen Änderungen. Beachten Sie, dass durch die Deaktivierung von tx-checksumming automatisch andere verwandte Funktionen deaktiviert wurden. Dies liegt daran, dass einige Funktionen von anderen abhängen.
Actual changes:
tx-checksum-ip-generic: off
tx-tcp-segmentation: off [not requested]
tx-tcp-ecn-segmentation: off [not requested]
tx-tcp6-segmentation: off [not requested]
Um die Änderung in der vollständigen Liste zu überprüfen, können Sie erneut ethtool -k eth0 ausführen.
Nun reaktivieren wir sie, um das standardmäßige, leistungssteigernde Verhalten wiederherzustellen.
sudo ethtool -K eth0 tx-checksumming on
Auch hier zeigt die Ausgabe die tatsächlichen Änderungen. Möglicherweise stellen Sie fest, dass eine Funktion, obwohl Sie sie als on angefordert haben, off bleibt, wenn die Hardware sie als fest (fixed) markiert hat. Sie zeigt auch, dass verwandte Funktionen automatisch wieder aktiviert werden.
Actual changes:
tx-checksum-ipv4: off [requested on]
tx-checksum-ip-generic: on
tx-checksum-ipv6: off [requested on]
tx-tcp-segmentation: on [not requested]
tx-tcp-ecn-segmentation: on [not requested]
tx-tcp6-segmentation: on [not requested]
tx-checksum-fcoe-crc: off [requested on]
tx-checksum-sctp: off [requested on]
Durch den Abschluss dieses Schritts haben Sie gelernt, wie Sie die Hardware-Offload-Funktionen Ihrer Netzwerkkarte untersuchen und ändern können, und Sie haben gesehen, wie sich Feature-Abhängigkeiten und Hardware-Beschränkungen auf das Ergebnis auswirken.