Skip to content

Cisco NX-OS: verify supported gNMI extensions with capabilities: confirmed-commit #171

@nikatza

Description

@nikatza

Description

Devices do not return supported gNMI extension in capabilities responses.

Example: gNMI extension confirmed-commits

The gNMI confirmed-commits extension is supported on NXOS starting from 10.6.2.

Suspected Issue

Device does not add a list of the supported extensions into their capabilities responses (standard is unclear about it).

Reproduction

We verified the extension is supported, by first issuing a Set request configured to use the confirmed-commit extension:

❯ gnmic -a localhost -u admin -p admin --port 9340 --skip-verify set --commit-request --commit-id=10 --rollback-duration=10s --update-path="System/fm-items/lldp-items"  --update-value '{"adminSt":"disabled"}'
{
  "source": "localhost",
  "timestamp": 1770122720198432232,
  "time": "2026-02-03T13:45:20.198432232+01:00",
  "results": [
    {
      "operation": "UPDATE",
      "path": "System/fm-items/lldp-items"
    }
  ]
}

Next we log into the target machine and see the transactions:

leaf1# show grpc gnmi transactions

=============
gRPC Endpoint
=============

Vrf            : management
Server address : [::]:9339

Cert notBefore : Feb  3 11:29:14 2026 GMT
Cert notAfter  : Feb  4 11:29:14 2026 GMT
Client Root Cert notBefore : n/a
Client Root Cert notAfter  : n/a

RPC          DataType   Session         Time In              Duration(ms) Status
------------ ---------- --------------- -------------------- ------------ ------
Set          -          8               02/03 12:45:20       42           0
subtype: dtx:  st: path:
Update   -     OK  /System/fm-items/lldp-items
Commit Type: CommitRequest   Persist: 10                   Timeout :10

Unfortunately, the device does not advertise that it supports this extension via the capabilities request:

❯ gnmic -a localhost -u admin -p admin --port 9340 --skip-verify capabilities --print-request
Capabilities Request:
{}
Capabilities Response:
gNMI version: 0.8.0
supported models:
  - Cisco-NX-OS-device, Cisco Systems, Inc., 2025-12-12
  - DME, Cisco Systems, Inc.,
  - Cisco-NX-OS-Syslog-oper, Cisco Systems, Inc., 2019-08-15
supported encodings:
  - JSON
  - PROTO

Workarounds:

  1. find/design a method to discover if this capability is supported before we integrate it into gnmiext, or
  2. blindly rely on release name and date

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/metal-automationAutomation processes within the Metal project.firmware-bugAn issue that is caused by a firmware malfunction.platform/nxEverything related to Cisco NX-OSvendor/ciscoEverything related to the Cisco that uses GNMI/GNOI.

    Type

    No type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions