How to adjust GENEVE tunnel BFD interval
search cancel

How to adjust GENEVE tunnel BFD interval

book

Article ID: 312452

calendar_today

Updated On:

Products

VMware NSX

Issue/Introduction

This article is to introduce how to adjust NSX-T GENEVE tunnel BFD interval.

Environment

VMware NSX-T Data Center

Resolution

Note: It is recommended to request maintenance window for following actions.
  1. Check the current tunnel bfd interval:
    >get bfd-sessions
    BFD Session
    Dest_port                     : 3784
    Diag                          : No Diagnostic
    Encap                         : geneve
    ...
    Rx_interval                   : 1000 <<< RX interval miiliseconds
    Session_type                  : TUNNEL
    State                         : up
    Tx_cfg_min                    : 100 
    Tx_interval                   : 1000 <<< TX interval millseconds
  2. Retrieve the existing transport zone id, transport zone display name, host switch name, current transport zone profile id and 'is_default' status by restAPI.
    GET /api/v1/transport-zones
            {
                "transport_type": "OVERLAY",
                "host_switch_name": "nsxDefaultHostSwitch",    <<< host switch name
                "host_switch_id": "4d39533b-####-####-####-########86e",
                "transport_zone_profile_ids": [
                    {
                        "resource_type": "BfdHealthMonitoringProfile",
                        "profile_id": "52035bb3-####-####-####-########50a"  <<< current transport zone profile id
                    }
                ],
                "host_switch_mode": "STANDARD",
                "nested_nsx": false,
                "is_default": false,    <<< is default
                "resource_type": "TransportZone",
                "id": "a65b4ce3-####-####-####-########503",   <<< transport zone id
                "display_name": "overlayzone",   <<< transport zone display name
    ...
            }
        ],
  3. Generate a new transport zone profile with specific bfd interval. The following example is for 2000ms (2 seconds) interval.
    POST /api/v1/transportzone-profiles
    {
      "enabled": "true",
      "latency_enabled": false,
      "resource_type": "BfdHealthMonitoringProfile",
      "display_name": "transport-zone-profile-Long", 
      "probe_interval": 2000
    }
  4. After applying step 3, the following output is prompted. Record the transport zone profile id.
    {
        "enabled": true,
        "probe_interval": 2000,
        "latency_enabled": false,
        "resource_type": "BfdHealthMonitoringProfile",
        "id": "a8d31422-####-####-####-########eb9",  <<< transport zone profile id
        "display_name": "transport-zone-profile-Long",   
    ...
    }
  5. Update transport zone with newly created profile id.
    PUT /api/v1/transport-zones/<transport zone id>
    {
      "resource_type": "TransportZone",
      "description": "comp1 overlay transport zone",
      "id": "a65b4ce3-####-####-####-########503",
      "display_name": "overlayzone",
      "host_switch_name": "nsxDefaultHostSwitch",
      "transport_type": "OVERLAY",
      "transport_zone_profile_ids": [
        {
          "profile_id": "a8d31422-####-####-####-########eb9",
          "resource_type": "BfdHealthMonitoringProfile"
        }
      ],
      "is_default": false,
      "_revision": 0
    }
  6. Check if the tunnel bfd interval is changed.
    > get bfd-sessions
    Sat May 06 2023 UTC 06:09:58.033
    BFD Session
    Dest_port                     : 3784
    Diag                          : No Diagnostic
    Encap                         : geneve
    ...
    Rx_interval                   : 2000   <<< RX interval is changed to 2000ms
    Session_type                  : TUNNEL
    State                         : up
    Tx_cfg_min                    : 100
    Tx_interval                   : 2000   <<< TX interval is changed to 2000ms