Me encuentro haciendo unas pruebas en mi maquina y me vi forzado a utilizar tageo de vlans sobre la nic de mi maquina, la sorpresa llego cuando quise transmitir a través de mi maquina un archivo de mas de 10G lo cual comenzó a arrojar el siguiente error en el kernel y claro los respectivos errores en el switch.
[31050.081316] e1000e 0000:00:19.0 eno1: Detected Hardware Unit Hang:
TDH
TDT
next_to_use
next_to_clean
buffer_info[next_to_clean]:
time_stamp <101d4e366>
next_to_watch
jiffies <101d4edb8>
next_to_watch.status <0>
MAC Status <80083>
PHY Status <796d>
PHY 1000BASE-T Status <3800>
PHY Extended Status <3000>
PCI Status <10>
Después de investigar con mi compañero de switching no logramos encontrar una evidencia solida que le atribuyera el problema al switch o relacionado, así que pasamos por comenzar a investigar por el lado de la NIC del linux, encontrando el siguiente post:
http://serverfault.com/questions/616485/e1000e-reset-adapter-unexpectedly-detected-hardware-unit-hang
y
https://ehc.ac/p/e1000/bugs/378/
En donde básicamente nos recomiendan ejecutar el siguiente comando:
ethtool -K eth0 gso off gro off tso off
Pero que demonios es eso?, pues nada mas y nada menos que mejoras del kernel para la transmisión de paquetes grandes y división de los mismos para que se ajusten al MTU, cosa que al parecer no funciona del todo bien en algunas situaciones, por lo que se procedió a desactivar dichas optimizaciones del driver, eso si aclarando que se puede perder rendimiento en la trasmisión de datos cosa que en mi caso no ocurrió.
Espero que sea de ayuda a alguien tanto como me fue a mi.