Traceflow attempt in NSX GUI fails with " Traceflow on VLAN logical port InternalLogicalPort/<portID> requires INT (In-band Network Telemetry) to be enabled."
search cancel

Traceflow attempt in NSX GUI fails with " Traceflow on VLAN logical port InternalLogicalPort/<portID> requires INT (In-band Network Telemetry) to be enabled."

book

Article ID: 317776

calendar_today

Updated On:

Products

VMware NSX

Issue/Introduction

  • Below error message is observed when performing traceflow for vlan backed segments.
Traceflow request failed. The request might be cancelled because it took more time than normal. Please retry. Error Message: Traceflow intent /infrattraceflows/<xxx> realized on enforcement point /infraisitesidefault/enforcernent-points/default with error Traceflow does not support vlan switch for port: LogicalPort/<>/infra/segments/dvportgroup-<>/ports/default:<>


 

Environment

VMware NSX-T Data Center
VMware NSX

Cause

By default, Traceflow within NSX is available only for NSX-T overlay segments
Performing Traceflow for VLAN Backed segments is not supported in current versions.

Resolution

Additional features must be enabled to allow Traceflow for VLAN-Backed Networks. This is accomplished by enabling In-band Network Telemetry (INT).

Reference:

 
Steps to enable In-band Network Telemetry (INT) to trace VLAN backed network.

1.  Run the API call: GET https://<ManagerIP>/policy/api/v1/infra/ops-global-config

This will return an output similar to:

{

    "operation_collectors": [

        {

            "report_interval": 30,

            "collector_type": "VRNI",

            "collector_ip": "###.###.###.###",

            "collector_port": ####

        }

    ],

    "operation_feature_disabled": {

        "latency_stat_disabled": false,

        "live_trace_disabled": false

    },

    "is_inherited": false,

    "site_infos": [],

    "resource_type": "OpsGlobalConfig",

    "id": "ops-global-config",

    "display_name": "ops-global-config",

    "path": "/infra/ops-global-config",

    "relative_path": "ops-global-config",

    "parent_path": "/infra",

    "remote_path": "",

    "unique_id": "########-####-####-####-############",

    "realization_id": "########-####-####-####-############",

    "owner_id": "########-####-####-####-############",

    "marked_for_delete": false,

    "overridden": false,

    "_system_owned": false,

    "_protection": "NOT_PROTECTED",

    "_create_time": 1764727579090,

    "_create_user": "system",

    "_last_modified_time": 1765726470087,

    "_last_modified_user": "###XXXXXXX",

    "_revision": 8

}

Note the VRNI collector above is an example.  Depending on your NSX deployment there may be different fields listed in the GET output.

2.   Take the output of the API call in Step 1 and ADD this section:

    "in_band_network_telementry": {
        "dscp_value": 2,
        "indicator_type": "DSCP_VALUE"
    },

The body should look similar to:

{

    "operation_collectors": [

        {

            "report_interval": 30,

            "collector_type": "VRNI",

            "collector_ip": "###.###.###.###",

            "collector_port": ####

        }

    ],

    "in_band_network_telementry": {

        "dscp_value": 2,

        "indicator_type": "DSCP_VALUE"

    },

    "operation_feature_disabled": {

        "latency_stat_disabled": false,

        "live_trace_disabled": false

    },

    "is_inherited": false,

    "site_infos": [],

    "resource_type": "OpsGlobalConfig",

    "id": "ops-global-config",

    "display_name": "ops-global-config",

    "path": "/infra/ops-global-config",

    "relative_path": "ops-global-config",

    "parent_path": "/infra",

    "remote_path": "",

    "unique_id": "########-####-####-####-############",

    "realization_id": "########-####-####-####-############",

    "owner_id": "########-####-####-####-############",

    "marked_for_delete": false,

    "overridden": false,

    "_system_owned": false,

    "_protection": "NOT_PROTECTED",

    "_create_time": 1764727579090,

    "_create_user": "system",

    "_last_modified_time": 1767739227089,

    "_last_modified_user": "#####",

    "_revision": 8

}

3.  The new API body created in Step 2) will go into the PUT API call

PUT https://<nsx-manager-ip-fqdn>/policy/api/v1/infra/ops-global-config

NOTE: After executing the PUT, run the GET command to confirm the change has gone into effect.  The _revision field number will increment by 1.



Now Traceflow passes through for the same vlan-backed segment post enabling In-band Network Telemetry (INT).

 


Additional Information

Click here for additional information for Troubleshooting NSX Traceflow.

If you are contacting Broadcom support about this issue, please provide the following:

  • NSX Edge log bundles for affected Edges in the Edge Cluster
  • Ensure log date range covers the full date of the event(s) being investigated. When in doubt, retrieve logs for all time.
  • NSX Manager log bundles
  • ESXi host log bundles for all hosts supporting affected Edge VMs
  • Text of any error messages seen in NSX GUI or command lines pertinent to the investigation

Handling Log Bundles for offline review with Broadcom support