jueves, 25 de febrero de 2016

e1000e 0000:00:19.0 eno1: Detected Hardware Unit Hang

Este post no es mas que una recopilación de foros y un hilo de discusión de intel así que bueno al grano.

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.