Review the NSX-V topology and decide how to map it to the NSX topology. During the migration, the "Define a Topology" step will prompt you for the mapping.

Specifically, determine how many NSX Edge clusters you need and how Edge Service Gateways (ESGs) and Distributed Logical Routers (DLRs) should map to gateways in NSX. The northbound ESGs without any L4-L7 services should be skipped. These are usually the ESGs peering with northbound routers and are in ECMP path. If you are using VPN on a northbound ESG, migrating to active-standby tier-0 is recommended. In other cases, migrating the ESGs/DLRs to tier-1 is recommended. An ESG and a DLR can be merged in one mapping entry in the mapping file.

You cannot map multiple tier-1 gateways without an edge cluster or a DR-only tier-1 gateway under a parent tier-0 gateway to DLRs. You also cannot map the parent tier-0 gateway to a DLR if you are mapping to a DR-only tier-1 gateway. If your topology requires mapping multiple DLRs, you must use an active-standby tier-1 gateway with an edge cluster assigned.

If you have a DHCP server configured on an ESG and DHCP relay server configured on a DLR, you must map the ESG and DLR to the same NSX gateway.

An example of a mapping file that maps ESGs to a tier-0 gateway:
[
  {
    "name":"nsxv-to-nsxt-mapping",
    "v_edges_to_policy_gateways_mappings":[
      {
        "v_edges":[
          "edge-1",
          "edge-2"
         ],
         "policy_gateway_name": "tier0-gateway"
         "policy_gateway_path": "/infra/tier-0s/tier0-gateway"
      }
    ]
  }
]
Here is a sample mapping file for migrating a cross-vCenter environment to NSX Federation:
[
  {
    "name": "site-GM",
    "nsxv_id": "20.20.0.131",
    "nsxt_site_id": "",
    "v_edges_to_policy_gateways_mappings": [
      {
        "v_edges": [
          "edge-3",                                          <== Dhcp server
          "edge-1b4b70c4-27da-4ee9-91cb-bd6389dadca2"        <== Dhcp Relay
        ],
        "policy_gateway_name": "tier0_1_global",
        "policy_gateway_path": "/global-infra/tier-0s/tier0_1_global"
      },
      {
        "v_edges": [
          "edge-a529c168-56c0-4e1a-98e4-e1f0312d82a4"
        ],
        "policy_gateway_name": "tier1_0_global",
        "policy_gateway_path": "/global-infra/tier-1s/tier1_0_global".     <== mapping corresponding to UDLR
      },
      {
        "v_edges": [
          "edge-5"
        ],
        "policy_gateway_name": "tier0_2_global",
        "policy_gateway_path": "/global-infra/tier-0s/tier0_2_global"
      }
    ]
  },
  {
    "name": "london",
    "nsxv_id": "20.20.0.131",
    "nsxt_site_id": "23790eb0-201a-48c3-8e34-8a03be03b61a",
    "v_edges_to_policy_gateways_mappings": [
      {
        "v_edges": [
          "edge-4"
        ],
        "policy_gateway_name": "site0_tier1_0",
        "policy_gateway_path": "/infra/tier-1s/site0_tier1_0"
      }
    ]
  },
  {
    "name": "paris",
    "nsxv_id": "20.20.0.132",
    "nsxt_site_id": "27db83d3-aa10-4a40-b15c-bf6e234b9e74",
    "v_edges_to_policy_gateways_mappings": [
      {
        "v_edges": [
          "edge-1",
          "edge-5"
        ],
        "policy_gateway_name": "site1_tier0_1_local",
        "policy_gateway_path": "/infra/tier-0s/site1_tier0_1_local"
      }
    ]
  }
]
If you are migrating a cross-vCenter environment to NSX Federation, note the following:
  • Tier-0 gateways created on Local Manager must have an Edge cluster assigned.
  • Tier-1 gateways created on Local Manager must either have an Edge cluster assigned or be connected to a tier-0 gateway that has an Edge cluster assigned.
  • Tier-0 and tier-1 gateways created on Global Manager must span all the sites.
  • In the mapping file, when specifying attributes for the Global Manager, nsxt_site_id must be an empty string.
  • Universal DLR (UDLR) should not be merged with any other ESG.
  • Northbound ESGs with L4-L7 services peering with UDLR must be mapped to a local site's active-standby tier-0 gateway.