This is the first time I encounter this error on the disabled interface so lets dig in!
N5K2# sh int status
Eth100/1/31 Node3 dcxNoACKi trunk full 10G --
N5K2# sh int e100/1/31
Ethernet100/1/31 is down (DCX-No ACK in 100 PDUs)
I found that the problem is around LLDP (Link Layer Discovery Protocol) where the switch expects this exchange from the host every 30 seconds. If the switch does not see this exchange for 100 Protocol Data Units (PDUs) , which is 3000 seconds or 50 minutes. Check log for more info on that i.e: sh logging | in DCX.
According to Cisco KB article the root cause for this problem in most cases is CNA/server misbehavior or an incorrect firmware/driver on the CNA.
If your NXOS is running 5.2(1)N1(1) or newer there is a nice workaround for this which is the part of Cisco Bug ID: CSCtq30118 enhancement.
Based on that here are our remediation options:
- Bounce the interface – will solve the err-disabled port state but you may get the same error down the line.
- Work with Server vendor on remediating the firmware or underline os behavior for LLDP – good luck with that!
- Disable LLDP on the that interface if you don’t need it.
- Configure auto recovery based on CSCtq30118 enhancement.
For Option 2 we just negate lldp under the interface
N5k2(config)# interface E100/1/1/31
N5k2(config-if)# no lldp receive
N5k2(config-if)# no lldp send
Auto recovery is a global command so make sure you are OK with that (Option 4).
N5K2(config)# errdisable recovery cause dcbx-no-ack
And that is it, I hope you find this informative and good luck.