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 Networking

Issue/Introduction

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

Environment

VMware NSX-T Data Center

Resolution

1. Better to request maintenance window for following actions.

2. Check 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

3. 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-56b2-4415-af03-263cb89a886e",
            "transport_zone_profile_ids": [
                {
                    "resource_type": "BfdHealthMonitoringProfile",
                    "profile_id": "52035bb3-ab02-4a08-9884-18631312e50a"  <<< current transport zone profile id
                }
            ],
            "host_switch_mode": "STANDARD",
            "nested_nsx": false,
            "is_default": false,    <<< is default
            "resource_type": "TransportZone",
            "id": "a65b4ce3-5964-4686-9a35-11e6fd0d8503",   <<< transport zone id
            "display_name": "overlayzone",   <<< transport zone display name
...
        }
    ],

4. 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
}


5. After applying step 4, the following output will be prompted. Record the transport zone profile id.
{
    "enabled": true,
    "probe_interval": 2000,
    "latency_enabled": false,
    "resource_type": "BfdHealthMonitoringProfile",
    "id": "a8d31422-f866-446d-b390-eeb9aa5b6eb9",  <<< transport zone profile id
    "display_name": "transport-zone-profile-Long",   
...
}

6. 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-5964-4686-9a35-11e6fd0d8503",
  "display_name": "overlayzone",
  "host_switch_name": "nsxDefaultHostSwitch",
  "transport_type": "OVERLAY",
  "transport_zone_profile_ids": [
    {
      "profile_id": "a8d31422-f866-446d-b390-eeb9aa5b6eb9",
      "resource_type": "BfdHealthMonitoringProfile"
    }
  ],
  "is_default": false,
  "_revision": 0
}


7. 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