Australian cloud for business software — built and run in Sydney since 2003

NetLeverage
NetLeverage

Software iSCSI Paths Dead After a NIC Change: Check the 1:1 Uplink Policy on Bound Ports

Technical article
VMware

An ESXi 8.0 host uses the software iSCSI adapter with port binding. Two or more VMkernel ports sit on one vSwitch, in the same subnet as the array's target portals. Someone changes the host's networking: a failed physical NIC is replaced, a new NIC is added to the switch, or the teaming order of a port group is edited. Afterwards some paths to an iSCSI device show Dead, or a rescan takes much longer than it used to.

Port binding depends on each bound VMkernel port having exactly one active physical adapter. A NIC added to the switch can quietly change that. The common reflex is to remove and re-add the binding or rescan until paths return. Each of those is a change and replaces the state you need to record. This guide shows how to record each bound port as it is now, compare it with Broadcom's documented rules, and hand a specific, dated finding to the network, host and array owners.

This guide is based on source research only. Nothing in it was run. Host, adapter, address and IQN values below are fictional.

Scope: same subnet only

This guide applies only when all of the following are recorded:

  • every bound VMkernel port is on the same vSwitch;
  • every bound VMkernel port and every target portal is in the same IP subnet;
  • the network owner confirms that the ports and portals share one broadcast domain (VLAN), because a matching subnet mask alone does not show that.

If any target portal is in another subnet, or reaching it depends on a static route or a gateway, stop. That is a routed design, and this guide gives it no verdict: not supported, not unsupported, not unreachable. The vSphere 8.0 sources cited here do not agree on it:

Source (vSphere 8.0 unless stated) Statement
Best Practices for Configuring Networking with Software iSCSI Example 1 keeps "all bound VMkernel ports in one subnet (N1)" with portals in another subnet and adds a static route; Example 3 says "Starting with vSphere 6.5, you can configure a separate gateway per VMkernel port" and "With separate gateways per VMkernel port, you use port binding to reach targets in different subnets." The same page also says "port binding requires that all initiator and target ports are on the same subnet".
Managing iSCSI Network iSCSI adapters using VMkernel adapters "cannot connect to iSCSI ports on different subnets, even if the iSCSI adapters discover those ports".
Multiple Network Adapters in iSCSI or iSER Configuration Do not use port binding when "Array target iSCSI ports are in a different broadcast domain and IP subnet".
KB 317719 (ESXi; no version stated) Do not use binding when the targets are in a different subnet, or when "Routing is required to reach the iSCSI array if using prior version of vSphere 6.5".

A routed design needs a version-specific answer from Broadcom or the array vendor for that exact topology. Record the topology and hand these four references to the design owner.

What Broadcom documents for the same-subnet case

Source What it says
Setting Up Network for iSCSI and iSER with ESXi (vSphere 8.0) The software iSCSI adapter depends on VMkernel networking. You create "a virtual VMkernel adapter for each physical network adapter", with "1:1 mapping between each virtual and physical network adapter", and associate it with the iSCSI adapter. "This process is called port binding."
Multiple Network Adapters in iSCSI or iSER Configuration (vSphere 8.0) On a single switch, each VMkernel adapter maps to "only one corresponding active physical adapter", with the others unused. Do not use port binding when the VMkernel adapters "exist in different broadcast domains, IP subnets, or use different virtual switches".
Managing iSCSI Network (vSphere 8.0) VMkernel adapters must be "on the same subnet as the iSCSI storage portal they connect to". Do not make changes "that might break association of VMkernel adapters and physical network adapters", including changing "the 1:1 network policy".
iSCSI Network Troubleshooting (vSphere 8.0) A warning sign marks a bound VMkernel adapter whose port group policy is non-compliant. The listed conditions are: not connected to an active physical adapter, connected to more than one, connected to one or more standby adapters, or "The active physical adapter is changed".
Best Practices for Configuring Networking with Software iSCSI (vSphere 8.0) With port binding, "the iSCSI initiator creates iSCSI sessions from all bound ports to all configured target portals"; two bound ports and two portals give four sessions, and the page lists four paths, one per port-and-portal pair. "Make sure that all target portals are reachable from all VMkernel ports when port binding is used. Otherwise, iSCSI sessions might fail to create", and a rescan "might take longer than expected".
Configure Dynamic or Static Discovery for iSCSI and iSER on ESXi Host (vSphere 8.0) With Dynamic Discovery the server "responds by supplying a list of available targets to the initiator. The names and IP addresses of these targets appear on the Static Discovery tab." A removed static target "might be returned to the list the next time a rescan happens".
KB 317719: Considerations for using software iSCSI port binding in ESXi (ESXi; no version stated) All bound VMkernel ports in the same broadcast domain and subnet, on the same vSwitch, one-to-one with physical NICs. No LACP or other link aggregation. Binding in the wrong topology can give longer rescans, the wrong number of paths, no storage at all, path redundancy messages and slower host reboots.
KB 400677: Unable to access shared Iscsi datastore from Esxi Host (ESXi, all versions) vmkernel.log shows vob.iscsi.discovery.connect.error and "The iSCSI Initiator could not establish a network connection to the discovery address". syslog.log shows iscsid login failures naming the VMkernel port (if=iscsi_vmk@vmk4) with "Connection failure".
KB 421153: ESXi Hosts intermittently disconnecting from vCenter when using iSCSI port binding (ESXi and vCenter; no version stated) Several bound VMkernel ports in one subnet are a supported exception to the multihoming rule, but not "when the vmkernel ports are assigned with the Management service". The symptom is a host that switches between disconnected and connected in vCenter.
KB 415729: Duplicate storage iqns seen on the ESXi hosts (ESXi; no version stated) Hosts showed duplicate target IQNs with port binding in a topology outside the rules; the array's view differed from the host's.

Two things follow for diagnosis:

  • The uplink policy of each bound port is readable without changing anything. A port with no active uplink, two active uplinks or a standby uplink is non-compliant as read, whatever caused it.
  • A warning sign is not, by itself, a specific defect. One listed cause, "The active physical adapter is changed", can apply to a port that still has exactly one active uplink.

Before you start

  • Read access to the host in the vSphere Client: Configure > Storage > Storage Adapters (the software iSCSI adapter, its Network Port Binding tab and the View Details icon for each bound adapter, as in Review Port Binding Details on the ESXi Host), its Dynamic Discovery and Static Discovery tabs, and Configure > Storage > Storage Devices, Paths tab (View Storage Device Paths).
  • Read-only ESXi Shell output, if the host owner provides it: esxcli iscsi session list (Review iSCSI Sessions) and esxcli network ip interface ipv4 address list for each VMkernel port's address, netmask and gateway (best-practices page). Both list state; neither changes it.
  • The host's logs for the period since the change: vmkernel.log and syslog.log (KB 400677).
  • The change record: what was changed, on which switch, port group, uplink or VMkernel port, by whom and when. Keep any retained export of the port group's teaming policy from before the change. Without one, the earlier policy is "unknown".
  • The network owner's record of the VLAN and broadcast domain for the bound ports and the portals.
  • The array's view: its target IQNs and portal addresses, and which initiator connections it shows, with the time it was read. KB 415729 shows the array can see a different picture from the host.

Do not remove or add a port binding, rescan, change an uplink order or a service on a VMkernel port, or reconnect storage while you collect this. A rescan changes discovery state (the discovery page above) and can take a long time in a broken topology (KB 317719). Every change replaces the state you are trying to record.

Step 1: record each bound port

Record the host, ESXi version and build, the software iSCSI adapter (for example vmhba64), and the time of observation with time zone. Then, for each VMkernel port on the Network Port Binding tab:

Field Where to read it
A. Bound port and warning VMkernel adapter name; whether the tab shows the non-compliance warning sign for it (observed, not yet a cause)
B. Uplinks now From View Details: the active, standby and unused physical adapters of its port group, and its switch
B2. Uplinks before the change A retained, dated policy record, or "unknown"
C. Address and network IP address, netmask and gateway; port group VLAN ID; broadcast domain per the network owner, or "not confirmed"
D. Services Services enabled on the VMkernel port, in particular Management (KB 421153)
E. Logins syslog.log iscsid lines naming this port (if=iscsi_vmk@vmkN), with time, target name and portal address: successful logins or "Connection failure" (KB 400677)

Then once for the adapter:

Field Where to read it
F. Discovery servers Addresses on the Dynamic Discovery tab. These are the servers asked for targets, not necessarily the portals used
F2. Targets and portals Each target name (IQN) and portal address on the Static Discovery tab, cross-checked with the array's list, with times
G. Sessions esxcli iscsi session list entries grouped by target name. Where E or the output identifies the bound port and portal of a session, record the pair; otherwise mark the pair "unknown"
G2. Expected pairs Each bound port × each portal in F2 that is in scope. Two ports and two portals give four expected pairs
H. Paths For each named affected device: each path's state (Active (I/O), Standby, Disabled, Dead) from the Paths tab, and which port and portal it uses where shown, else "unknown"
I. Discovery errors vob.iscsi.discovery.connect.error or esx.problem.storage.iscsi.discovery.connect.error lines in vmkernel.log since the change, with times (KB 400677)
J. Change The change record entry with its time, or "not available"

vmkping from a bound port is an active test, not part of this record. If an owner runs it under their own change process, record the command, time and result as a separate observation. A reply shows the packet got through at that moment; a failure does not by itself say why.

Step 2: match the record

Check every row and record each one that applies. Do not stop at the first match: an uplink fault and a Management-service fault can exist at the same time. A row whose evidence is missing is marked "candidate"; a row you could not check is marked "not checked".

If the record shows Finding Rule
Scope conditions not all met (another subnet, a route or gateway to the portals, more than one vSwitch, broadcast domain not confirmed) Outside this guide. Record the topology and hand the four scope references to the design owner Scope section
B shows a bound port with no active uplink, more than one active uplink, or any standby uplink That port's policy is not 1:1 as read at the observation time. When it started is established only by B2 or J; otherwise "unknown" iSCSI Network Troubleshooting; Multiple Network Adapters
A shows a warning, and B shows exactly one active uplink and no standby Warning observed; no present uplink-count defect. A changed active adapter is a candidate only if B2 or J shows a change; otherwise "warning, cause unknown" iSCSI Network Troubleshooting
D shows Management enabled on a bound port, and the host switches between disconnected and connected KB 421153 configuration KB 421153
G shows fewer recorded pairs than G2, and E shows "Connection failure" for named port-and-portal pairs Those pairs failed to log in at the recorded times. The cause is not established by this alone; record it alongside any policy finding Best Practices; KB 400677
The pair for a session or path cannot be identified Mapping unknown. Do not infer it from counts —
The array shows different target names or connections from F2 and G, or the same target IQN appears more than once on the host Candidate KB 415729 pattern; compare the two views by target name and portal KB 415729
None of the rows above applies, and H shows Dead paths No configuration-rule mismatch is established from these records; the path loss remains unexplained. Classify the device state (APD or PDL) on its own evidence. That classification does not show the network is healthy —

Four paths from two bound ports and two portals is the documented normal case, not a duplicate. A session or path count that matches G2 shows that the expected number exists at that moment; it does not show that each pair carries I/O.

LACP or another link aggregation on the uplinks of a bound port is outside KB 317719's rules; record it if you see it.

Worked example (fictional)

Host esx-a03, ESXi 8.0, software iSCSI adapter vmhba64, observed 3 November 09:40 AEDT. Two bound ports, vmk3 and vmk4, on vSwitch2, port group VLAN 120, both in 192.0.2.0/24; the network owner's record puts both ports and the array portal in the VLAN 120 broadcast domain. Dynamic Discovery lists 192.0.2.50; Static Discovery lists one target, iqn.2001-04.example:fin-lun, at 192.0.2.50:3260, matching the array's list read at 09:50. The change record says that on 2 November at 14:10 a failed physical NIC was replaced and vmnic5 was added to vSwitch2. No teaming-policy export from before the change was kept.

Field vmk3 vmk4
A. Warning None Warning sign shown
B. Uplinks now Active vmnic2; unused vmnic3, vmnic5 Active vmnic3, vmnic5; unused vmnic2
B2. Before the change Unknown Unknown
C. Address and network 192.0.2.13/24, VLAN 120 192.0.2.14/24, VLAN 120
D. Services iSCSI only iSCSI only
E. Logins Logged in to iqn.2001-04.example:fin-lun at 192.0.2.50 "Connection failure" to 192.0.2.50:3260, first at 2 November 14:26, repeated since
Field Value
F2. Targets and portals One target, one portal: 192.0.2.50:3260
G. Sessions 1 recorded (vmk3 to 192.0.2.50, from E); expected 2
H. Paths Device naa.600a…01: 1 Active (I/O), 1 Dead. The Paths tab in this record does not show which bound port each path uses
I. Discovery errors None after 2 November
J. Change 2 November 14:10: NIC replacement; vmnic5 added to vSwitch2

Reading it:

  • Scope conditions are met.
  • vmk4 has two active uplinks as read at 09:40 on 3 November. That is non-compliant under the 8.0 troubleshooting page, and it is proven for the time of observation.
  • vmk4's logins to 192.0.2.50 fail from 14:26 on 2 November, after the 14:10 change. The timing is consistent with the change, but B2 is unknown, so this record does not prove the policy was correct before it.
  • One Dead path is recorded for naa.600a…01 only. Which bound port it uses is unknown, so the Dead path is not tied to vmk4 by this record, and other devices are not assessed.

The finding handed on: "vmk4 on esx-a03 has two active uplinks (vmnic3, vmnic5) as read at 09:40 AEDT on 3 November, which is outside the 1:1 policy. Its iSCSI logins have failed since 14:26 on 2 November, after vmnic5 was added at 14:10. The earlier policy is not recorded. Device naa.600a…01 has one Dead path whose port is not identified." Restoring a 1:1 policy is the network owner's change. Whether the Dead path returns afterwards is a separate check.

Contrasting records (fictional)

esx-b01 has two bound ports and two portals in one subnet and VLAN. Static Discovery lists one target at both portals. G shows four sessions and H shows four paths for each device: the documented normal case, not a duplicate. A storage event later turns all four paths Dead, with no warning sign, every B one active uplink and no login failures logged. No row except the last applies: no configuration-rule mismatch is established and the path loss stays unexplained. The device state is classified on its own evidence.

esx-c02 has its array portals renumbered into 198.51.100.0/24 while its bound ports stay in 192.0.2.0/24. The scope conditions are not met. This guide records the topology and hands the four scope references to the design owner without a verdict.

Troubleshooting

Situation What to do
A warning sign is shown but the port has one active uplink and no standby Record it as "warning, cause unknown" unless B2 or J shows an active-adapter change
A rescan takes a very long time Do not run another. Long rescans are documented with unreachable portals and binding (KB 317719; Best Practices)
Paths show Dead on several hosts Record each host separately. One host's record does not establish another's
Someone proposes removing the port binding It is KB 415729's and KB 421153's resolution for their own cases, and it is a change. Name the matching rows first
You cannot read the logs, the before-change policy or the change record Mark E, I, B2 or J "not available"; findings that need them become candidates

Acceptance checks

  1. The scope conditions are recorded, including the owner's broadcast-domain confirmation; a record outside scope is handed on with the four references and no verdict.
  2. For each bound port: A to E are recorded, with "unknown" or "not available" where a value could not be read.
  3. F to J are recorded once for the adapter, with the host, ESXi version and build, and the time of observation; targets are listed by name and portal, not only by discovery server.
  4. Every Step 2 row is marked as applies, candidate, not applicable or not checked; more than one finding can stand.
  5. A policy finding states the observation time; a start time or cause is stated only with B2 or J.
  6. No count is accepted as proof that every port-and-portal pair carries I/O.
  7. No port binding, route, uplink, service, VLAN or storage setting was changed, and no rescan was run, while collecting the record.
  8. Any fix is handed to its owner as a separate change, and path recovery is confirmed by its own check of the Paths tab and sessions.

Risk notes

  • Removing or adding a port binding changes the host's paths. KB 415729 shows the path set changing after a binding was removed and the host rescanned.
  • A rescan changes discovery state and can be slow. The discovery page shows targets returning to the Static Discovery list on rescan, and KB 317719 documents longer rescans in a wrong topology. Collect the record first.
  • Adding Management to an iSCSI-bound VMkernel port is the unsupported configuration in KB 421153; the host can flap in vCenter.
  • Link aggregation on iSCSI uplinks is outside KB 317719's rules.

These are source-documented behaviours. Expert review and a lab check are still needed before any change to a vSphere environment.

Learning notes

  • A bound port needs exactly one active uplink. Adding a NIC to the switch can quietly break that, and the current policy is readable without changing anything.
  • A warning sign tells you to look, not what is wrong.
  • Discovery servers and target portals are different things; count sessions and paths against named port-and-portal pairs.
  • Per-port login lines in syslog.log name which port fails, which the path list alone may not.
  • Routed designs with port binding are where the sources disagree; they need their own answer, not this table.

References

Source Version scope Date
Setting Up Network for iSCSI and iSER with ESXi vSphere 8.0 Page shows "Last Updated October 28, 2026"; retrieved 2026-11-03
Multiple Network Adapters in iSCSI or iSER Configuration vSphere 8.0 Page shows "Last Updated October 28, 2026"; retrieved 2026-11-03
Best Practices for Configuring Networking with Software iSCSI vSphere 8.0 Page shows "Last Updated October 28, 2026"; retrieved 2026-11-03
Managing iSCSI Network vSphere 8.0 Page shows "Last Updated October 28, 2026"; retrieved 2026-11-03
iSCSI Network Troubleshooting vSphere 8.0 Page shows "Last Updated October 28, 2026"; retrieved 2026-11-03
Configure Dynamic or Static Discovery for iSCSI and iSER on ESXi Host vSphere 8.0 Page shows "Last Updated October 28, 2026"; retrieved 2026-11-04
Review Port Binding Details on the ESXi Host vSphere 8.0 Page shows "Last Updated October 28, 2026"; retrieved 2026-11-03
Review iSCSI Sessions vSphere 8.0 Page shows "Last Updated October 28, 2026"; retrieved 2026-11-03
View Storage Device Paths vSphere 8.0 Page shows "Last Updated October 28, 2026"; retrieved 2026-11-03
KB 317719: Considerations for using software iSCSI port binding in ESXi ESXi; no version stated Page metadata 28 September 2026; retrieved 2026-11-03
KB 400677: Unable to access shared Iscsi datastore from Esxi Host ESXi, all versions Page metadata 10 August 2026; retrieved 2026-11-03
KB 421153: ESXi Hosts intermittently disconnecting from vCenter when using iSCSI port binding ESXi and vCenter; no version stated Page metadata 10 December 2025; retrieved 2026-11-03
KB 415729: Duplicate storage iqns seen on the ESXi hosts ESXi; no version stated Page metadata 30 October 2025; retrieved 2026-11-03

Related articles