After Dual DPU Failure, a vmknic may lose its gateway under certain conditions. For example:
Before Failover
[root@localhost:~] esxcli network ip interface ipv4 get
vmk##
##.##.#.#
##.##.#.#
##.##.#.#
STATIC ##.##.#.#
falsevmk##
##.##.#.#
##.##.#.#
##.##.#.#
STATIC 192.0.2.1 false <<
After Failover
[root@localhost:~] esxcli network ip interface ipv4 get
vmk## ##.##.#.#
##.##.#.#
##.##.#.# STATIC
false##.##.#.#
vmk## ##.##.#.#
##.##.#.#
##.##.#.# STATIC 0.0.0.0 false <<
This issue occurs on ESXi 8.0 U3 where network offloads are enabled on the vDS and the vmknics are on a mirror/ops network stack.
This issue occurs when users change the vmknic from DHCP to static without manually specifying a gateway.
When network offloads are enabled on a vDS and a NSX transport node is created on the vDS, vmknics created on a mirror/ops network stack will be pushed to the DPU. When creating the vmknic with DHCP, the gateway that comes from the DHCP server will automatically be configured on the mirror/ops network stack. If the vmknic IP configuration is changed from DHCP to static and the new static IP can still reach the gateway configured on the network stack, then the VM will still have a networking connection on this vmknic. This is the reason the gateway on the netstack keeps as expected in this case. Even if the vmknic is changed to a static IP, it will use the gateway left out from the DHCP server.
If a DPU failover happens, the vmknic will be recreated on the standby DPU with a static IP. The newly created netstack for the vmknic will not have the gateway because the vmknic uses a static IP and does not send DHCP requests. This is not a standard use case; typically, when setting a static IP, a gateway should be manually specified.
This issue will be fixed in a future version of ESXi.
Workaround
To change the vmknic's IP from DHCP to static in situations where the vmknics are on a mirror/ops network stack with network offloads enabled on the vDS, follow the below steps:
Override default gateway for this adapter