Destination host unreachable forcing to shutdown

jramos

New Member
Jun 9, 2025
2
0
1
Hello.

I have a very strange behavior with my Proxmox. From time to time, I lose connection to Proxmox. That happened to me yesterday and today but today I had a ping running with the following output:

Code:
 ping -t 192.168.1.104

Reply from 192.168.1.104: bytes=32 time=13ms TTL=64
Reply from 192.168.1.104: bytes=32 time=5ms TTL=64
Reply from 192.168.1.104: bytes=32 time=7ms TTL=64
Reply from 192.168.1.104: bytes=32 time=4ms TTL=64
Reply from 192.168.1.104: bytes=32 time=5ms TTL=64
Reply from 192.168.1.104: bytes=32 time=4ms TTL=64
Reply from 192.168.1.104: bytes=32 time=4ms TTL=64
Reply from 192.168.1.104: bytes=32 time=44ms TTL=64
Reply from 192.168.1.104: bytes=32 time=7ms TTL=64
Request timed out.
Request timed out.
Reply from 192.168.1.121: Destination host unreachable.
Request timed out.
Reply from 192.168.1.121: Destination host unreachable.
Reply from 192.168.1.121: Destination host unreachable.
Reply from 192.168.1.121: Destination host unreachable.
Reply from 192.168.1.121: Destination host unreachable.
Reply from 192.168.1.121: Destination host unreachable.
Reply from 192.168.1.121: Destination host unreachable.
Reply from 192.168.1.121: Destination host unreachable.
Reply from 192.168.1.121: Destination host unreachable.
Request timed out.
Reply from 192.168.1.121: Destination host unreachable.
Reply from 192.168.1.121: Destination host unreachable.
Reply from 192.168.1.121: Destination host unreachable.
Reply from 192.168.1.121: Destination host unreachable.
Reply from 192.168.1.121: Destination host unreachable.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Reply from 192.168.1.121: Destination host unreachable.
Reply from 192.168.1.121: Destination host unreachable.
Reply from 192.168.1.121: Destination host unreachable.

When this happens, I don't have any other way than just force a shutdown by pressing the button.

HW info
Code:
CPU(s) 6 x Intel(R) Core(TM) i5-9500 CPU @ 3.00GHz (1 Socket)
Kernel Version Linux 6.8.12-11-pve (2025-05-22T09:39Z)
Boot Mode EFI
Manager Version pve-manager/8.4.1/2a5fa54a8503f96d

Are there any logs that I could check for the problem?
 
Hey,

definitely check journalctl -b (-b for since last boot). dmesg may also contain something useful. What does your /etc/network/interfaces look like? And could you post the output of ip a? Is it only the host, or are VMs also not reachable?
 
This is an example of the logs when this issue occurs:

Code:
Jul 12 20:20:01 proxmox CRON[22965]: pam_unix(cron:session): session opened for user root(uid=0) by root(uid=0)
Jul 12 20:20:01 proxmox CRON[22967]: (root) CMD (/root/check_gateway_with_log.sh >> /dev/null 2>&1)
Jul 12 20:20:02 proxmox CRON[22965]: pam_unix(cron:session): session closed for user root
Jul 12 20:20:50 proxmox kernel: e1000e 0000:00:1f.6 eno1: Detected Hardware Unit Hang:
                                  TDH                  <a1>
                                  TDT                  <c3>
                                  next_to_use          <c3>
                                  next_to_clean        <a0>
                                buffer_info[next_to_clean]:
                                  time_stamp           <100672c83>
                                  next_to_watch        <a1>
                                  jiffies              <1006734c0>
                                  next_to_watch.status <0>
                                MAC Status             <80083>
                                PHY Status             <796d>
                                PHY 1000BASE-T Status  <3800>
                                PHY Extended Status    <3000>
                                PCI Status             <10>
Jul 12 20:20:52 proxmox kernel: e1000e 0000:00:1f.6 eno1: Detected Hardware Unit Hang:
                                  TDH                  <a1>
                                  TDT                  <c3>
                                  next_to_use          <c3>
                                  next_to_clean        <a0>
                                buffer_info[next_to_clean]:
                                  time_stamp           <100672c83>
                                  next_to_watch        <a1>
                                  jiffies              <100673cc0>
                                  next_to_watch.status <0>
                                MAC Status             <80083>
                                PHY Status             <796d>
                                PHY 1000BASE-T Status  <3800>
                                PHY Extended Status    <3000>
                                PCI Status             <10>
Jul 12 20:20:54 proxmox kernel: e1000e 0000:00:1f.6 eno1: Detected Hardware Unit Hang:
                                  TDH                  <a1>
                                  TDT                  <c3>
                                  next_to_use          <c3>
                                  next_to_clean        <a0>
                                buffer_info[next_to_clean]:
                                  time_stamp           <100672c83>
                                  next_to_watch        <a1>
                                  jiffies              <100674480>
                                  next_to_watch.status <0>
                                MAC Status             <80083>
                                PHY Status             <796d>
                                PHY 1000BASE-T Status  <3800>
                                PHY Extended Status    <3000>
                                PCI Status             <10>
Jul 12 20:20:56 proxmox kernel: e1000e 0000:00:1f.6 eno1: Detected Hardware Unit Hang:
                                  TDH                  <a1>
                                  TDT                  <c3>
                                  next_to_use          <c3>
                                  next_to_clean        <a0>
                                buffer_info[next_to_clean]:
                                  time_stamp           <100672c83>
                                  next_to_watch        <a1>
                                  jiffies              <100674c40>
                                  next_to_watch.status <0>
                                MAC Status             <80083>
                                PHY Status             <796d>
                                PHY 1000BASE-T Status  <3806>
                                PHY Extended Status    <3000>
                                PCI Status             <10>
Jul 12 20:20:58 proxmox kernel: e1000e 0000:00:1f.6 eno1: Detected Hardware Unit Hang:
                                  TDH                  <a1>
                                  TDT                  <c3>
                                  next_to_use          <c3>
                                  next_to_clean        <a0>
                                buffer_info[next_to_clean]:
                                  time_stamp           <100672c83>
                                  next_to_watch        <a1>
                                  jiffies              <100675401>
                                  next_to_watch.status <0>
                                MAC Status             <80083>
                                PHY Status             <796d>
                                PHY 1000BASE-T Status  <3800>
                                PHY Extended Status    <3000>
                                PCI Status             <10>
Jul 12 20:21:00 proxmox kernel: e1000e 0000:00:1f.6 eno1: Detected Hardware Unit Hang:
                                  TDH                  <a1>
                                  TDT                  <c3>
                                  next_to_use          <c3>
                                  next_to_clean        <a0>
                                buffer_info[next_to_clean]:
                                  time_stamp           <100672c83>
                                  next_to_watch        <a1>
                                  jiffies              <100675bc0>
                                  next_to_watch.status <0>
                                MAC Status             <80083>
                                PHY Status             <796d>
                                PHY 1000BASE-T Status  <3800>
                                PHY Extended Status    <3000>
                                PCI Status             <10>
Jul 12 20:21:02 proxmox kernel: e1000e 0000:00:1f.6 eno1: Detected Hardware Unit Hang:
                                  TDH                  <a1>
                                  TDT                  <c3>
                                  next_to_use          <c3>
                                  next_to_clean        <a0>
                                buffer_info[next_to_clean]:
                                  time_stamp           <100672c83>
                                  next_to_watch        <a1>
                                  jiffies              <1006763c0>
                                  next_to_watch.status <0>
                                MAC Status             <80083>
                                PHY Status             <796d>
                                PHY 1000BASE-T Status  <3800>
                                PHY Extended Status    <3000>
                                PCI Status             <10>
Jul 12 20:21:04 proxmox kernel: e1000e 0000:00:1f.6 eno1: Detected Hardware Unit Hang:
                                  TDH                  <a1>
                                  TDT                  <c3>
                                  next_to_use          <c3>
                                  next_to_clean        <a0>
                                buffer_info[next_to_clean]:
                                  time_stamp           <100672c83>
                                  next_to_watch        <a1>
                                  jiffies              <100676b81>
                                  next_to_watch.status <0>
                                MAC Status             <80083>
                                PHY Status             <796d>
                                PHY 1000BASE-T Status  <3800>
                                PHY Extended Status    <3000>
                                PCI Status             <10>
Jul 12 20:21:06 proxmox kernel: e1000e 0000:00:1f.6 eno1: Detected Hardware Unit Hang:
                                  TDH                  <a1>
                                  TDT                  <c3>
                                  next_to_use          <c3>
                                  next_to_clean        <a0>
                                buffer_info[next_to_clean]:
                                  time_stamp           <100672c83>
                                  next_to_watch        <a1>
                                  jiffies              <100677340>
                                  next_to_watch.status <0>
                                MAC Status             <80083>
                                PHY Status             <796d>
                                PHY 1000BASE-T Status  <3800>
                                PHY Extended Status    <3000>
                                PCI Status             <10>
Jul 12 20:21:08 proxmox kernel: e1000e 0000:00:1f.6 eno1: Detected Hardware Unit Hang:
                                  TDH                  <a1>
                                  TDT                  <c3>
                                  next_to_use          <c3>
                                  next_to_clean        <a0>
                                buffer_info[next_to_clean]:
                                  time_stamp           <100672c83>
                                  next_to_watch        <a1>
                                  jiffies              <100677b41>
                                  next_to_watch.status <0>
                                MAC Status             <80083>
                                PHY Status             <796d>
                                PHY 1000BASE-T Status  <3800>
                                PHY Extended Status    <3000>
                                PCI Status             <10>
Jul 12 20:21:10 proxmox kernel: e1000e 0000:00:1f.6 eno1: Detected Hardware Unit Hang:
                                  TDH                  <a1>
                                  TDT                  <c3>
                                  next_to_use          <c3>
                                  next_to_clean        <a0>
                                buffer_info[next_to_clean]:
                                  time_stamp           <100672c83>
                                  next_to_watch        <a1>
                                  jiffies              <100678301>
                                  next_to_watch.status <0>
                                MAC Status             <80083>
                                PHY Status             <796d>
                                PHY 1000BASE-T Status  <3800>
                                PHY Extended Status    <3000>
                                PCI Status             <10>
Jul 12 20:21:12 proxmox kernel: e1000e 0000:00:1f.6 eno1: Detected Hardware Unit Hang:
                                  TDH                  <a1>
                                  TDT                  <c3>
                                  next_to_use          <c3>
                                  next_to_clean        <a0>
                                buffer_info[next_to_clean]:
                                  time_stamp           <100672c83>
                                  next_to_watch        <a1>
                                  jiffies              <100678ac1>
                                  next_to_watch.status <0>
                                MAC Status             <80083>
                                PHY Status             <796d>
                                PHY 1000BASE-T Status  <3800>
                                PHY Extended Status    <3000>
                                PCI Status             <10>
Jul 12 20:21:14 proxmox kernel: e1000e 0000:00:1f.6 eno1: Detected Hardware Unit Hang:
                                  TDH                  <a1>
                                  TDT                  <c3>
                                  next_to_use          <c3>
                                  next_to_clean        <a0>
                                buffer_info[next_to_clean]:
                                  time_stamp           <100672c83>
                                  next_to_watch        <a1>
                                  jiffies              <100679282>
                                  next_to_watch.status <0>
                                MAC Status             <80083>
                                PHY Status             <796d>
                                PHY 1000BASE-T Status  <3800>
                                PHY Extended Status    <3000>
                                PCI Status             <10>
Jul 12 20:21:16 proxmox kernel: e1000e 0000:00:1f.6 eno1: Detected Hardware Unit Hang:
                                  TDH                  <a1>
                                  TDT                  <c3>
                                  next_to_use          <c3>
                                  next_to_clean        <a0>
                                buffer_info[next_to_clean]:
                                  time_stamp           <100672c83>
                                  next_to_watch        <a1>
                                  jiffies              <100679a80>
                                  next_to_watch.status <0>
                                MAC Status             <80083>
                                PHY Status             <796d>
                                PHY 1000BASE-T Status  <3800>
                                PHY Extended Status    <3000>
                                PCI Status             <10>
Jul 12 20:21:18 proxmox kernel: e1000e 0000:00:1f.6 eno1: Detected Hardware Unit Hang:
                                  TDH                  <a1>
                                  TDT                  <c3>
                                  next_to_use          <c3>
                                  next_to_clean        <a0>
                                buffer_info[next_to_clean]:
                                  time_stamp           <100672c83>
                                  next_to_watch        <a1>
                                  jiffies              <10067a241>
                                  next_to_watch.status <0>
                                MAC Status             <80083>
                                PHY Status             <796d>
                                PHY 1000BASE-T Status  <3800>
                                PHY Extended Status    <3000>
                                PCI Status             <10>
Jul 12 20:21:19 proxmox kernel: e1000e 0000:00:1f.6 eno1: NIC Link is Down
Jul 12 20:21:19 proxmox kernel: vmbr0: port 1(eno1) entered disabled state
Jul 12 20:21:23 proxmox kernel: e1000e 0000:00:1f.6 eno1: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: Rx/Tx
Jul 12 20:21:23 proxmox kernel: vmbr0: port 1(eno1) entered blocking state
Jul 12 20:21:23 proxmox kernel: vmbr0: port 1(eno1) entered forwarding state
This appears to be an e1000e driver bug rather than a hardware failure. The logs show repeated Detected Hardware Unit Hang messages on eno1 (the Intel I219-V NIC commonly found in HP EliteDesk systems), with the TX ring stuck (TDH 0xa1 never advances to TDT 0xc3) until the network link is physically reset. In my case, I had to unplug the network cable and plug it back in.

The root cause appears to be TSO/TX checksum offloading interacting poorly with this Intel PHY. The standard workaround is to disable the problematic offloading features.

The following command resolved the issue:
ethtool -K eno1 tso off gso off gro off tx off rx off

So far, this has completely resolved the problem. To make the change persistent across reboots, I created the following systemd service:
Bash:
cat > /etc/systemd/system/fix-eno1-offload.service << 'EOF'
[Unit]
Description=Disable e1000e offloads on eno1
After=network.target

[Service]
Type=oneshot
ExecStart=/sbin/ethtool -K eno1 tso off gso off gro off tx off rx off
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload
systemctl enable --now fix-eno1-offload.service