En este paso, aprenderá cómo inspeccionar y modificar las funciones de descarga de red (network offload features). Estas son capacidades avanzadas de la NIC que permiten que el hardware realice tareas que de otro modo serían manejadas por la CPU, como el cálculo de sumas de verificación (checksums) o la segmentación de datos. Descargar estas tareas puede mejorar el rendimiento de la red.
Primero, veamos la configuración actual de descarga para su interfaz usando la bandera -k (o --show-features).
ethtool -k eth0
Verá una lista de características, algunas de las cuales están on (activadas) y otras off (desactivadas). Un estado [fixed] significa que la configuración no puede ser cambiada por el usuario.
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]
... (la salida es larga y puede variar)
Ahora, practiquemos la modificación de una de estas configuraciones. Desactivaremos temporalmente la suma de verificación de transmisión (TX checksumming). Esta operación requiere privilegios de administrador, por lo que debe usar sudo y la bandera -K (o --features).
sudo ethtool -K eth0 tx-checksumming off
El comando ahora reporta los cambios que realizó. Observe que al deshabilitar tx-checksumming, se deshabilitaron automáticamente otras características relacionadas. Esto se debe a que algunas características dependen de otras.
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]
Para verificar el cambio en la lista completa, puede ejecutar ethtool -k eth0 nuevamente.
Ahora, volvamos a habilitarlo para restaurar el comportamiento predeterminado que mejora el rendimiento.
sudo ethtool -K eth0 tx-checksumming on
Nuevamente, la salida muestra los cambios reales. Puede ver que, aunque solicitó una característica on, esta permanece off si el hardware la tiene fijada. También muestra que las características relacionadas se vuelven a habilitar automáticamente.
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]
Al completar este paso, ha aprendido a examinar y modificar las características de descarga de hardware de su tarjeta de red y ha visto cómo las dependencias de características y las limitaciones del hardware afectan el resultado.