Querying MSDP Ephemeral Data

Querying the MSDP Domain

Querying the MSDP Domain
GET http://<IP_Address>/api/node/mo/sys/msdp/inst/dom-default.json
{
  "totalCount": "1",
  "imdata": [
{
  "msdpDom": {
    "attributes": {
      "childAction": "",
      "ctrl": "",
      "dn": "sys/msdp/inst/dom-default",
      "modTs": "2016-12-07T03:47:02.900+00:00",
      "name": "default",
      "origIf": "eth1/10",
      "persistentOnReload": "true",
      "reConnIntvl": "10",
      "srcActiveMsgIntvl": "120",
      "status": "",
      "uid": "0"
},
"children": [
  {
    "msdpPeer": {
      "attributes": {
        "addr": "192.0.20.123",
        "adminSt": "disabled",
        "asn": "200",
        "childAction": "",
        "connTmrTs": "1970-01-01T00:00:00.000+00:00",
        "descr": "This is an example of a peer",
        "discontinuityTs": "2016-12-07T03:47:02.947+00:00",
        "establishTransitions": "0",
        "kaIntvl": "50",
        "kaTimeout": "70",
        "lastResetOperQual": "Password change",
        "localPort": "unspecified",
        "modTs": "2016-12-07T17:03:55.036+00:00",
        "name": "",
        "operSt": "admin-down",
        "persistentOnReload": "true",
        "remPort": "unspecified",
        "rn": "peer-[192.0.20.123]",
        "srcActiveMsgLimit": "9999999",
        "srcIf": "eth1/9",
        "status": "",
        "uid": "22322",
        "upTs": "2016-12-07T03:47:02.961+00:00"
},
"children": [
{
  "msdpMeshGrp": {
    "attributes": {
      "childAction": "",
      "descr": "",
      "grpName": "my_mesh_grp1",
      "modTs": "2016-12-07T17:04:25.140+00:00",
      "name": "",
      "persistentOnReload": "true",
      "rn": "meshgrp",
      "status": "",
      "uid": "22322"
}}},{
"msdpAuthP": {
"attributes": {
  "childAction": "",
  "descr": "",
  "key": "",
  "modTs": "2016-12-07T03:47:02.900+00:00",
  "name": "",
  "persistentOnReload": "true",
  "rn": "auth",
  "status": "",
  "type": "none",
  "uid": "22322"
}}}]}}]}}]}

This example returns the MSDP configuration for the default MSDP domain.

See the NX-API DME Model Reference for detailed information about classes and attributes described in the payload: https://developer.cisco.com/site/nx-os/docs/nexus-model-reference/

Querying Ephemeral Operational Data

Ephemeral data must be queried with an ephemeral qualifier. With this query, a batch-id (usually 1) and a batch-size must be specified. In the example below, batch-size is specified as 20000. See the list below for more information about the query fields.

  • rsp-foreign-subtree=ephemeral—Specifies that this is an ephemeral request, retrieving high-volume data.
  • rsp-subtree=full—Should be specified to retrieve all children under the dn query.
  • batch-id—An integer with a range of 1 to N. You can specify in increments (1, 2, 3, …) to retrieve data in iteration.
  • batch-size—An integer with a range of 1 to 100,000. You can specify the maximum number of managed objects to be retrieved in each batch iteration.

Note: This was added in Release Cisco NX-OS Release 7.0(3)I7(2).

Command Ephemeral DN Query Description
show ip msdp peer http://{{ip}}/api/mo/sys/msdp/inst/dom-default/peer-2.2.2.2.json?rsp-subtree=full&rsp-foreign-subtree=ephemeral&batch-size=10&batch-id=1 Query MSDP peers
show ip msdp route http://{{ip}}/api/mo/sys/msdp/inst/dom-default/db-route.json?rsp-subtree=full&rsp-foreign-subtree=ephemeral&batch-size=10000&batch-id=1 Query MSDP routes
show ip msdp source http://{{ip}}/api/mo/sys/msdp/inst/dom-default/db-source.json?rsp-subtree=full&rsp-foreign-subtree=ephemeral&batch-size=10000&batch-id=1 Query MSDP sources

Ephemeral REST Output

Ephemeral REST Output
http://{{ip}}/api/mo/sys/arp/inst/dom-management/db-ip.json?rsp-subtree=full&rsp-foreign-subtree=ephemeral&batch-id=1&batch-size=20000
{
  "totalCount": "1",
  "imdata": [
{
"msdpPeer": {
"attributes": {
  "addr": "2.2.2.2",
  "adminSt": "enabled",
  "asn": "",
  "childAction": "",
  "descr": "",
  "dn": "sys/msdp/inst/dom-default/peer-[2.2.2.2]",
  "kaIntvl": "60",
  "kaTimeout": "90",
  "localPort": "59039",
  "modTs": "2016-06-28T06:02:48.355+00:00",
  "name": "",
  "operSt": "established",
  "persistentOnReload": "true",
  "remPort": "639",
  "rstReason": "",
  "srcActiveMsgLimit": "4294967295",
  "srcIf": "vlan100",
  "status": "",
  "uid": "0"
},
"children": [
  {
    "msdpPeerStats": {
      "attributes": {
        "cacheLfTime": "2016-06-28T18:41:28.923+00:00",
        "childAction": "",
        "connAttempts": "7",
        "connTmrTs": "2016-06-28T18:37:58.923+00:00",
        "ctrlMsgsRcvd": "120",
        "ctrlMsgsSent": "0",
        "dataMsgsRcvd": "0",
        "dataMsgsSent": "0",
        "disTime": "2016-06-28T18:35:01.484+00:00",
        "estTrans": "1",
        "kaRcvd": "3",
        "kaSent": "4",
        "lastMsgRcvd": "2016-06-28T18:37:21.801+00:00",
        "modTs": "never",
        "notifRcvd": "0",
        "notifSent": "0",
        "persistentOnReload": "false",
        "rn": "peerstats",
        "rpfChkFail": "0",
        "rtCnt": "10000",
        "saReqRcvd": "0",
        "saReqSent": "0",
        "saRspRcvd": "0",
        "saRspSent": "0",
        "status": "",
        "uptime": "2016-06-28T18:35:01.484+00:00"
}}}]}}]}