Following NSX edge node replacement, virtual machines on a bridged overlay segment lose connectivity to physical infrastructure. VMs on the affected bridge segment can communicate with each other on the same segment (both same host and across hosts), but cannot reach:
Symptoms:
Business Impact: Loss of connectivity for workloads that depend on bridge segments for communication with physical infrastructure or other NSX overlay segments, particularly common for backup servers, management infrastructure, or workloads undergoing phased migration to NSX.
Bridge Architecture Overview: NSX Edge Bridging extends Layer 2 connectivity between NSX overlay segments (Geneve encapsulation) and VLAN-backed networks. The Edge Node acts as a Layer 2 gateway, with the following interfaces:
Affected Versions:
Topology Requirements:
Common Scenarios:
Primary Cause: Missing or incomplete bridge configuration on the replacement edge nodes. The bridge configuration consists of five interdependent components that must be properly configured together:
Why These Components Are Required:
Physical switches and vSphere VDS operate differently regarding MAC address handling:
When a physical server sends traffic to an overlay VM, the physical switch forwards to the ESXi host. However, the VDS doesn't recognize the overlay VM's MAC address (not directly attached), so it drops the frame. This is why frame delivery methods (Promiscuous Mode or MAC Learning) are required.
Additionally, the edge node sends frames with overlay VM source MAC addresses (not the edge vNIC MAC). The VDS security setting "Forged Transmits" must be set to Accept, or the VDS will drop these frames when it detects the source MAC doesn't match the edge vNIC.
Why Configuration Is Lost During Replacement:
Edge node replacement often results in missing bridge components:
Traffic Flow Breakdown:
Packet captures confirm traffic successfully reaches the edge TEP from the source ESXi TEP, indicating overlay networking functions properly. The failure occurs at the bridge point where traffic should traverse between:
This indicates the edge node receives traffic but cannot bridge it due to missing configuration.
This is the recommended approach and should be attempted first. Only move the bridge outside NSX if configuration cannot be restored due to missing documentation or inability to recreate proper configuration.
Step 1: Verify Edge Node Configuration
Understanding Single vs Dual VDS Architecture:
Single VDS Configuration:
Dual VDS Configuration:
Step 2: Verify or Recreate Edge Bridge Profile
<descriptive-name>-bridge-profileStep 3: Attach Edge Bridge to Segment
Step 4: Verify Bridge Realization
Using SSH to edge node, run:
get logical-switches
Expected output:
Step 5: Verify Connectivity
From a VM on the bridge segment, test:
Step 6: Verify VDS Security Settings (Only if Using Different VDS or Still Having Issues)
Note: If the replacement edge node connects to the same VDS port groups as the original edge, these settings should already be in place and do not need reconfiguration. Only verify/configure these if:
On the vSphere VDS port group used by edge node fp-eth1 (VLAN side):
Why Forged Transmits Must Be Accept:
The edge node sends frames with overlay VM source MAC addresses (not the edge vNIC MAC). When "Forged Transmits" is set to Reject (default), the VDS compares the source MAC in the frame to the originating vNIC MAC and drops mismatches. Setting to Accept allows the edge to forward frames with different source MACs, which is required for bridging to function.
Frame Delivery Method (Should Already Be Configured):
If bridge still not functioning and VDS security settings are correct, verify frame delivery method is configured:
Method 1: Promiscuous Mode (Simplest)
Method 2: MAC Learning (Recommended)
Important: Only use this option if bridge configuration cannot be restored within NSX due to missing documentation or inability to recreate proper configuration.
To prevent this issue during future edge replacements:
Pre-Replacement Documentation:
Replacement Procedure:
get logical-switches CLI commandPost-Replacement Validation: