Enabling BGP on a VRF Gateway fails with error "Only ecmp, enabled, BGP Aggregate to be configured for VRF BGP Config."
search cancel

Enabling BGP on a VRF Gateway fails with error "Only ecmp, enabled, BGP Aggregate to be configured for VRF BGP Config."

book

Article ID: 326339

calendar_today

Updated On:

Products

VMware NSX

Issue/Introduction

  • NSX-T version 3.0.1
  • Enabling BGP on a VRF Gateway fails with error "Only ecmp, enabled, BGP Aggregate to be configured for VRF BGP Config."

Environment

VMware NSX-T Data Center 3.x

Cause

When enabling BGP from the NSX-T UI, additional configuration such as Graceful restart are included in the request and since those configuration are not supported on VRF Gateways, the configuration is failing with the error mentioned in this KB.

Resolution

This issue is resolved in VMware NSX 3.0.2

Workaround:
As a workaround, you can enable BGP on the VRF Gateway using API:

  1. Find the VRF Gateway id (should be the same as display name):

    GET /policy/api/v1/infra/tier-0s/

    Example of output:

            {
                "_create_time": 1598347018138,
                "_create_user": "admin",
                "_last_modified_time": 1598347018275,
                "_last_modified_user": "admin",
                "_protection": "NOT_PROTECTED",
                "_revision": 0,
                "_system_owned": false,
                "default_rule_logging": false,
                "disable_firewall": false,
                "display_name": "T0-VRF",
                "failover_mode": "NON_PREEMPTIVE",
                "force_whitelisting": false,
                "ha_mode": "ACTIVE_ACTIVE",
                "id": "T0-VRF",
    (...)

  2. Retrieve the  VRF Gateway BGP settings:

    GET /policy/api/v1/infra/tier-0s/{VRF_T0}/locale-services/default/bgp

    *where {VRF_T0} is the VRF Gateway id from step 1.


    Example of output:

    {
        "_create_time": 1598347018747,
        "_create_user": "admin",
        "_last_modified_time": 1598347018752,
        "_last_modified_user": "admin",
        "_protection": "NOT_PROTECTED",
        "_revision": 0,
        "_system_owned": false,
        "display_name": "bgp",
        "ecmp": true,
        "enabled": false,
        "id": "bgp",
        "marked_for_delete": false,
        "overridden": false,
        "parent_path": "/infra/tier-0s/T0-VRF/locale-services/default",
        "path": "/infra/tier-0s/T0-VRF/locale-services/default/bgp",
        "relative_path": "bgp",
        "resource_type": "BgpRoutingConfig",
        "unique_id": "########-####-####-####-########877b"
    }

  3. Enable BGP using PUT API

    API: PUT /policy/api/v1/infra/tier-0s/{VRF_T0}/locale-services/default/bgp

    Body: Copy the output from step 2. and replace "enabled": false, with "enabled": true,

    Example:

    PUT /policy/api/v1/infra/tier-0s/{VRF_T0}/locale-services/default/bgp

    Body:

    {

      "_create_time": 1598347018747,
      "_create_user": "admin",
      "_last_modified_time": 1598347018752,
      "_last_modified_user": "admin",
      "_protection": "NOT_PROTECTED",
      "_revision": 0,
      "_system_owned": false,
      "display_name": "bgp",
      "ecmp": true,
      "enabled": true,
        "id": "bgp",
        "marked_for_delete": false,
        "overridden": false,
        "parent_path": "/infra/tier-0s/T0-VRF/locale-services/default",
        "path": "/infra/tier-0s/T0-VRF/locale-services/default/bgp",
        "relative_path": "bgp",
        "resource_type": "BgpRoutingConfig",
        "unique_id": "########-####-####-####-########877b"
    }


  4. Confirm that BGP is enabled on the VRF Gateway using the NSX-T Manager UI or the API from step 2.