- nsxdp-cli vswitch instance list | grep <VM Name>
- get logical-switch <VNI ID or Switch UUID>
- get ip-discovery bindings <DVS Name> <DVPort ID>
- net-vdl2 -M mac -s <DVS Name> -n <VNI ID the VM is connected to>
- nsxdp-cli vswitch mac-learning port get --dvport <DVPort ID> --dvs-alias <DVS Name>
MAC Learning: False
Unknown Unicast Flooding: False
MAC Limit: 4096
MAC Limit Policy: ALLOW
VMware NSX-T Data Center 3.2.X
This is a known issue impacting VMware NSX.
The workaround is to use the API to update the binding maps of the segment, by first removing the custom MAC profile, and then updating the binding map again with the required custom MAC profile. The detailed steps are the following:
Note: Please make sure you have a recent NSX Manager backup before proceeding.
GET: https://{{nsx-mgr}}/policy/api/v1/infra/segments/<Segment-Name>/segment-discovery-profile-binding-maps/
Sample response:
{
"mac_discovery_profile_path": "/infra/mac-discovery-profiles/<custom_mac_profile_name>",
"resource_type": "SegmentDiscoveryProfileBindingMap",
"id": "<UUID>",
"display_name": "<Segment-binding-UUID>",
"path": "/infra/segments/test_segment1/segment-discovery-profile-binding-maps/<Segment-binding-UUID>",
"relative_path": "<Segment-binding-UUID>",
"parent_path": "/infra/segments/<Segment-Name>",
"unique_id": "<UUID>",
"realization_id": "<UUID>",
"marked_for_delete": false,
"overridden": false,
"_create_time": 0,
"_create_user": "unknown",
"_last_modified_time": 0,
"_last_modified_user": "unknown",
"_system_owned": false,
"_protection": "NOT_PROTECTED",
"_revision": 1
}
2. Copy the response from the above API to use as the payload in the below API. But remove the custom MAC profile entry from the output, before pasting it in as the payload:
"mac_discovery_profile_path": "/infra/mac-discovery-profiles/<custom_mac_profile_name>", ----------> remove this
PUT: https://{{nsx-mgr}}/policy/api/v1/infra/segments/test_segment1/segment-discovery-profile-binding-maps/<Segment-binding-UUID>
Sample payload:
{
"ip_discovery_profile_path": "/infra/ip-discovery-profiles/<ip_discovery_profile_name>",
"resource_type": "SegmentDiscoveryProfileBindingMap",
"id": "<UUID>",
"display_name": "<Segment-binding-UUID>",
"path": "/infra/segments/test_segment1/segment-discovery-profile-binding-maps/<Segment-binding-UUID>",
"relative_path": "<Segment-binding-UUID>",
"parent_path": "/infra/segments/<Segment-Name>",
"unique_id": "<UUID>",
"realization_id": "<UUID>",
"marked_for_delete": false,
"overridden": false,
"_create_time": 0,
"_create_user": "unknown",
"_last_modified_time": 0,
"_last_modified_user": "unknown",
"_system_owned": false,
"_protection": "NOT_PROTECTED",
"_revision": 1
}
3. This will set the mac profile to the default MAC profile. Again update the segment binding map by setting it back to the correct custom profile, sample profile as below:
PUT: https://{{nsx-mgr}}/policy/api/v1/infra/segments/test_segment1/segment-discovery-profile-binding-maps/<Segment-binding-UUID>
Sample Payload:
{
"mac_discovery_profile_path": "/infra/mac-discovery-profiles/<custom_mac_profile_name>",
"ip_discovery_profile_path": "/infra/ip-discovery-profiles/<ip_discovery_profile_name>",
"resource_type": "SegmentDiscoveryProfileBindingMap",
"id": "<UUID>",
"display_name": "<Segment-binding-UUID>",
"path": "/infra/segments/test_segment1/segment-discovery-profile-binding-maps/<Segment-binding-UUID>",
"relative_path": "<Segment-binding-UUID>",
"parent_path": "/infra/segments/<Segment-Name>",
"unique_id": "<UUID>",
"realization_id": "<UUID>",
"marked_for_delete": false,
"overridden": false,
"_create_time": 0,
"_create_user": "unknown",
"_last_modified_time": 0,
"_last_modified_user": "unknown",
"_system_owned": false,
"_protection": "NOT_PROTECTED",
"_revision": 1
}
If you are contacting Broadcom support about this issue, please provide the following:
Handling Log Bundles for offline review with Broadcom support