VMware NSX for vSphere DLR or Edge Routes do not get pushed to Host
search cancel

VMware NSX for vSphere DLR or Edge Routes do not get pushed to Host

book

Article ID: 310000

calendar_today

Updated On:

Products

VMware NSX

Issue/Introduction

DLR or Edge Routes do not get pushed to Host.

To confirm this issue:

  • Check for routes on the ESXi host, by running the following command to display all DLR instances on a host:

    net-vdr -l --instance ( Shows DLR Instance Names to be used in the following command)

    net-vdr -l --nbr [DLR instance name] (Displays MAC Addresses associated with this DLR)

  • Determine if the DLR instance (with the DLR's vMAC) is seen by the host. Displays routes associated with DLR

    net-vdr -l -R [DLR instance name]

  • Confirm that routes on host mirror the routes on the control DLR.

  • If the routes on the host DLR instance do not reflect those on the Control DLR or some are missing, then the host or hosts are not being pushed some or all routes for that DLR instance.

  • You can check the routes on the control VM using the show ip route command.

Environment

VMware NSX for vSphere 6.4.x

Resolution

To resolve this issue:

  1. Attempt to resync the DLR using the "Force Sync" action in the vCenter Web Client. This reboots the DLR/Edge and re-push its configuration.

    Networking and Security > NSX Edges > Select the Edge/DLR > Select "Actions" drop down > Force Sync
    Once resync is completed, check to see if routes are now showing up on the host. If they are, then issue should be resolved.
     
  2. If the step above did not resolve the issue, next re-sync the cluster with the Edges/DLRs via the Host Preparation page in the Web UI.

    Networking and Security > Installation > Host Preparation > Select affected cluster/clusters > Locate the hidden gear icon and select it > Select "Force Sync Services" and select all installed services.
    Confirm if this re-sync resolved the issue.
     
  3. If the issue persists, make an API call to force sync the controllers.
    PUT https://NSX_Manager_IP/api/2.0/vdn/controller/synchronize
     
  4. If resynching the controllers is unsuccessful, check netcpa on the affected host/hosts. Attempt to restart the process with this command on the host: /etc/init.d/netcpad restart
     
  5. If this is unsuccessful synchronize the message bus process using the following API command:

    POST https://NSX_Manager_IP/api/2.0/nwfabric/configure?action=synchronize

    Request Body:
    <nwFabricFeatureConfig>
    <featureId>com.vmware.vshield.vsm.messagingInfra</featureId>
    <resourceConfig>
    <resourceId>{HOST/CLUSTER MOID}</resourceId>
    </resourceConfig>
    </nwFabricFeatureConfig>


For more information, see the NSX vSphere API Guide
 

  1. If the above steps fail, remove all 3 controllers, then redeploy them.
  2. Re-deploy the DLR/Edge
  3. Re-synch the DLR/Edge, Cluster, and the controllers again, following steps 1-5 above.