{"type":"api","title":"Retrieve a link operational data","meta":{"id":"/apps/pubhub/media/crosswork-network-controller-7-1/f445c17e25a1120e8fbde4bd413083d0fd88b2b3/a8cb9323-8a97-3868-9520-4a46931fff65","info":{"title":"Layer 3 & Layer 2 Topology Details","description":"The APIs and Models defined here are used to read the Crosswork Optimization Engine discovered topology. The models here can report both L2 and L3 topology details. The models also have support for SR MPLS, SRv6, and Flex Algo related attributes for nodes and links.\n\nThe models (and resulting APIs) listed here are an aggregation of various Topology YANG models. The basis of these Topology models are formed from IETF models that are then augmented by Cisco propreitary models, for extra details.\n\nThe base IETF models are linked below.\n\nhttps://datatracker.ietf.org/doc/html/rfc8345\nietf-network-state\nietf-network-topology-state\n\nhttps://datatracker.ietf.org/doc/html/rfc8346/\nietf-l3-unicast-topology-state\n\nhttps://datatracker.ietf.org/doc/html/rfc8944/\nietf-l2-topology-state\n\nhttps://datatracker.ietf.org/doc/html/draft-ietf-teas-yang-sr-te-topo\nietf-sr-mpls-topology-state\n\nhttps://datatracker.ietf.org/doc/html/draft-ietf-spring-srv6-yang\nietf-srv6-types","contact":{"name":"Crosswork Team, Cisco","email":"support@cisco.com"},"license":{"name":"Cisco Software License Agreement","url":"http://www.cisco.com/public/sw-license-agreement.html"},"version":"7.1.0"},"tags":[{"name":"Operational data","description":"Operational data resources for Networks, Nodes, Termination Points, and Links"}],"openapi":"3.0.1","servers":[{"url":"https://{cnc-host}:{cnc-port}/crosswork/nbi/topology/v3/restconf","variables":{"cnc-host":{"default":"127.0.0.1","description":"host name or ip address of the target CNC Cluster"},"cnc-port":{"default":"30603","description":"port number of the target CNC Cluster"}}}],"securitySchemes":{"basicAuth":{"type":"http","description":"basic authentication","scheme":"basic"}}},"spec":{"tags":["Operational data","Topology","Since 3.0"],"summary":"Retrieve a link operational data","description":"A network link connects a local (source) node and\na remote (destination) node via a set of the respective\nnode's termination points. It is possible to have several\nlinks between the same source and destination nodes.\nLikewise, a link could potentially be re-homed between\ntermination points. Therefore, in order to ensure that we\nwould always know to distinguish between links, every link\nis identified by a dedicated link identifier. Note that a\nlink models a point-to-point link, not a multipoint link.","operationId":"data_ietf_network_state_networks_network_network_network_id_ietf_network_topology_state_link_ietf_network_topology_state_link_link_id_get","parameters":[{"name":"network-id","in":"path","description":"Identifies a network.","required":true,"schema":{"type":"string","format":"string"}},{"name":"link-id","in":"path","description":"The identifier of a link in the topology.\nA link is specific to a topology to which it belongs.","required":true,"schema":{"type":"string","format":"string"}}],"responses":{"200":{"description":"A network link connects a local (source) node and\na remote (destination) node via a set of the respective\nnode's termination points. It is possible to have several\nlinks between the same source and destination nodes.\nLikewise, a link could potentially be re-homed between\ntermination points. Therefore, in order to ensure that we\nwould always know to distinguish between links, every link\nis identified by a dedicated link identifier. Note that a\nlink models a point-to-point link, not a multipoint link.","content":{"application/yang-data+json":{"schema":{"type":"object","properties":{"ietf-network-topology-state:link":{"type":"array","description":"A network link connects a local (source) node and\na remote (destination) node via a set of the respective\nnode's termination points. It is possible to have several\nlinks between the same source and destination nodes.\nLikewise, a link could potentially be re-homed between\ntermination points. Therefore, in order to ensure that we\nwould always know to distinguish between links, every link\nis identified by a dedicated link identifier. Note that a\nlink models a point-to-point link, not a multipoint link. (list)","items":{"type":"object","properties":{"ietf-network-topology-state:link-id":{"type":"string","description":"The identifier of a link in the topology.\nA link is specific to a topology to which it belongs. (leaf)","format":"string"},"ietf-network-topology-state:source":{"type":"object","properties":{"ietf-network-topology-state:source-node":{"type":"string","description":"Source node identifier. Must be in the same topology. (leaf)","format":"leafref"},"ietf-network-topology-state:source-tp":{"type":"string","description":"This termination point is located within the source node\nand terminates the link. (leaf)","format":"leafref"}},"description":"This container holds the logical source of a particular\nlink. (non-presence)"},"ietf-network-topology-state:destination":{"type":"object","properties":{"ietf-network-topology-state:dest-node":{"type":"string","description":"Destination node identifier. Must be in the same\nnetwork. (leaf)","format":"leafref"},"ietf-network-topology-state:dest-tp":{"type":"string","description":"This termination point is located within the\ndestination node and terminates the link. (leaf)","format":"leafref"}},"description":"This container holds the logical destination of a\nparticular link. (non-presence)"},"ietf-l3-unicast-topology-state:l3-link-attributes":{"type":"object","properties":{"ietf-l3-unicast-topology-state:name":{"type":"string","description":"Link Name (leaf)","format":"string"},"ietf-l3-unicast-topology-state:flag":{"type":"array","items":{"type":"string","description":"Link flags (leaf-list)","format":"identityref"}},"ietf-l3-unicast-topology-state:metric1":{"type":"integer","description":"Link Metric 1, reports IGP metric value (leaf)","format":"uint64"},"ietf-l3-unicast-topology-state:metric2":{"type":"integer","description":"Link Metric 2, reports TE metric value (leaf)","format":"uint64"},"cisco-crosswork-l3-te-topology:l3-link-attributes":{"type":"object","properties":{"cisco-crosswork-l3-te-topology:administrative-group":{"type":"integer","description":"Link administrative-group, also known as TE affinity (leaf)","format":"uint32"},"cisco-crosswork-l3-te-topology:srlg":{"type":"array","description":"Shared Risk Link Groups (SRLGs) are list of numeric identifiers that are assigned/associated with groups of links.","items":{"type":"integer","description":"SRLG","format":"uint32"}},"cisco-crosswork-l3-te-topology:domain-id":{"type":"integer","description":"Link state domain identifier (leaf)","format":"uint64"},"cisco-crosswork-l3-te-topology:max-bandwidth-kbps":{"type":"integer","description":"Max bandwidth for this link, in kilobytes per second. (leaf)","format":"uint64"}},"description":"link attributes (non-presence)"},"cisco-crosswork-isis-topology:isis-link-attributes":{"type":"object","properties":{"cisco-crosswork-isis-topology:net":{"type":"object","properties":{"cisco-crosswork-isis-topology:system-id":{"type":"string","description":"ISIS System ID which is a 6 octet numerical value (leaf)","format":"string"},"cisco-crosswork-isis-topology:area":{"type":"string","description":"ISIS Area address. Numerical value of 1 to 13 octets (leaf)","format":"string"}},"description":"ISIS Network Entity Title which identifies an instance of ISIS (non-presence)"},"cisco-crosswork-isis-topology:level":{"type":"integer","description":"ISIS level of the link/ adjacency (leaf)","format":"byte"},"cisco-crosswork-srv6-topology-state:srv6-adjacency-sid":{"type":"array","description":"SRv6 sids (list)","items":{"type":"object","properties":{"cisco-crosswork-srv6-topology-state:sid":{"type":"string","description":"SRV6 sid value. (leaf)","format":"string"},"cisco-crosswork-srv6-topology-state:endpoint-behavior":{"type":"string","description":"The endpoint function. (leaf)","format":"string"},"cisco-crosswork-srv6-topology-state:protected":{"type":"string","description":"Is Adj-SID protected? (leaf)","format":"boolean"},"cisco-crosswork-srv6-topology-state:flags":{"type":"integer","description":"Flags for srv6 end x sid. (leaf)","format":"uint32"},"cisco-crosswork-srv6-topology-state:algorithm":{"type":"integer","description":"Associated algorithm. (leaf)","format":"uint32"},"cisco-crosswork-srv6-topology-state:weight":{"type":"integer","description":"The value represents the weight of the End.X sid\nfor the purpose of load balancing. (leaf)","format":"uint32"},"cisco-crosswork-srv6-topology-state:srv6-sid-structure":{"type":"object","properties":{"cisco-crosswork-srv6-topology-state:lb-length":{"type":"integer","description":"SRv6 SID Locator Block length in bits. (leaf)","format":"uint32"},"cisco-crosswork-srv6-topology-state:ln-length":{"type":"integer","description":"SRv6 SID Locator Node length in bits. (leaf)","format":"uint32"},"cisco-crosswork-srv6-topology-state:func-length":{"type":"integer","description":"SRv6 SID Function length in bits. (leaf)","format":"uint32"},"cisco-crosswork-srv6-topology-state:arg-length":{"type":"integer","description":"SRv6 SID Argument length in bits. (leaf)","format":"uint32"}},"description":"SRv6 SID Structure is used to advertise\nthe length of each individual part of the SRv6 SID (non-presence)"}}}},"cisco-crosswork-flex-algo:link-attributes":{"type":"object","properties":{"cisco-crosswork-flex-algo:flex-algo-admin-group":{"type":"string","description":"Link flex-algo-admin-group, link affinity (leaf)","format":"string"}},"description":"link attributes (non-presence)"}},"description":"ISIS link/ adjacency attributes (non-presence)"},"cisco-crosswork-ospf-topology:ospf-link-attributes":{"type":"object","properties":{"cisco-crosswork-ospf-topology:ospf-router-id":{"type":"string","description":"OSPF router ID, which is an IPv4 address,\nof the local host (leaf)","format":"string"},"cisco-crosswork-ospf-topology:area-id":{"type":"string","description":"OSPF area ID, represented as an IPv4 address value (leaf)","format":"string"},"cisco-crosswork-srv6-topology-state:srv6-adjacency-sid":{"type":"array","description":"SRv6 sids (list)","items":{"type":"object","properties":{"cisco-crosswork-srv6-topology-state:sid":{"type":"string","description":"SRV6 sid value. (leaf)","format":"string"},"cisco-crosswork-srv6-topology-state:endpoint-behavior":{"type":"string","description":"The endpoint function. (leaf)","format":"string"},"cisco-crosswork-srv6-topology-state:protected":{"type":"string","description":"Is Adj-SID protected? (leaf)","format":"boolean"},"cisco-crosswork-srv6-topology-state:flags":{"type":"integer","description":"Flags for srv6 end x sid. (leaf)","format":"uint32"},"cisco-crosswork-srv6-topology-state:algorithm":{"type":"integer","description":"Associated algorithm. (leaf)","format":"uint32"},"cisco-crosswork-srv6-topology-state:weight":{"type":"integer","description":"The value represents the weight of the End.X sid\nfor the purpose of load balancing. (leaf)","format":"uint32"},"cisco-crosswork-srv6-topology-state:srv6-sid-structure":{"type":"object","properties":{"cisco-crosswork-srv6-topology-state:lb-length":{"type":"integer","description":"SRv6 SID Locator Block length in bits. (leaf)","format":"uint32"},"cisco-crosswork-srv6-topology-state:ln-length":{"type":"integer","description":"SRv6 SID Locator Node length in bits. (leaf)","format":"uint32"},"cisco-crosswork-srv6-topology-state:func-length":{"type":"integer","description":"SRv6 SID Function length in bits. (leaf)","format":"uint32"},"cisco-crosswork-srv6-topology-state:arg-length":{"type":"integer","description":"SRv6 SID Argument length in bits. (leaf)","format":"uint32"}},"description":"SRv6 SID Structure is used to advertise\nthe length of each individual part of the SRv6 SID (non-presence)"}}}},"cisco-crosswork-flex-algo:link-attributes":{"type":"object","properties":{"cisco-crosswork-flex-algo:flex-algo-admin-group":{"type":"string","description":"Link flex-algo-admin-group, link affinity (leaf)","format":"string"}},"description":"link attributes (non-presence)"}},"description":"Containing OSPF link attributes (non-presence)"},"ietf-sr-mpls-topology-state:sr-mpls":{"type":"object","properties":{"ietf-sr-mpls-topology-state:advertise-protection":{"type":"string","description":"If set, the Adj-SID refers to an\nadjacency being protected. (leaf)","format":"enumeration","default":"single","enum":["single","dual"]},"ietf-sr-mpls-topology-state:msd":{"type":"integer","description":"SID depth of the interface associated with the link. (leaf)","format":"byte"},"ietf-sr-mpls-topology-state:sids":{"type":"array","description":"List of SIDs. (list)","items":{"type":"object","properties":{"ietf-sr-mpls-topology-state:value-type":{"type":"string","description":"This leaf defines how value must be interpreted. (leaf)","format":"enumeration","default":"index","enum":["index","absolute"]},"ietf-sr-mpls-topology-state:sid":{"type":"integer","description":"Adjacency SID, which can be either IGP-Adjacency SID\nor BGP PeerAdj SID, depending on the context. (leaf)","format":"uint32"},"ietf-sr-mpls-topology-state:is-local":{"type":"string","description":"''true'' if the SID is local. (leaf)","format":"boolean"},"ietf-sr-mpls-topology-state:address-family":{"type":"string","description":"This leaf defines the F-Flag (Address-Family flag) of the\nSID. (leaf)","format":"enumeration","default":"ipv4","enum":["ipv4","ipv6"]},"ietf-sr-mpls-topology-state:is-backup":{"type":"string","description":"''true'' if the SID is a backup. (leaf)","format":"boolean"},"ietf-sr-mpls-topology-state:is-part-of-set":{"type":"string","description":"''true'' if the SID is part of a set. (leaf)","format":"boolean"},"ietf-sr-mpls-topology-state:is-persistent":{"type":"string","description":"''true'' if the SID is persistently allocated. (leaf)","format":"boolean"},"ietf-sr-mpls-topology-state:is-on-lan":{"type":"string","description":"''true'' if on a lan. (leaf)","format":"boolean"}}}},"ietf-sr-mpls-topology-state:information-source":{"type":"string","description":"Indicates the type of the information source. (leaf)","format":"enumeration","default":"unknown","enum":["unknown","locally-configured","ospfv2","ospfv3","isis","bgp-ls","system-processed","other"]},"ietf-sr-mpls-topology-state:information-source-instance":{"type":"string","description":"The name indicating the instance of the information\nsource. (leaf)","format":"string"},"ietf-sr-mpls-topology-state:information-source-state":{"type":"object","properties":{"ietf-sr-mpls-topology-state:credibility-preference":{"type":"integer","description":"The preference value to calculate the traffic\nengineering database credibility value used for\ntie-break selection between different\ninformation-source values.\nHigher value is more preferable. (leaf)","format":"uint16"}},"description":"The container contains state attributes related to\nthe information source. (non-presence)"}},"description":"Containing SR attributes. (presence)"}},"description":"Contains link attributes (non-presence)"},"ietf-l2-topology-state:l2-link-attributes":{"type":"object","properties":{"ietf-l2-topology-state:name":{"type":"string","description":"Link name. (leaf)","format":"string"},"ietf-l2-topology-state:flags":{"type":"array","items":{"type":"string","description":"Link flags. It can be used to indicate\nlink flag attributes. (leaf-list)","format":"identityref"}},"ietf-l2-topology-state:rate":{"type":"integer","description":"Link rate. It specifies bandwidth requirements\nassociated with the specific link. The link\ncontains a source and a destination. (leaf)","format":"uint64"},"ietf-l2-topology-state:delay":{"type":"integer","description":"Unidirectional link delay in\nmicroseconds. (leaf)","format":"uint32"},"ietf-l2-topology-state:auto-nego":{"type":"string","description":"Set to true if auto-negotiation is supported.\nSet to false if auto-negotiation is not supported. (leaf)","format":"boolean"},"ietf-l2-topology-state:duplex":{"type":"string","description":"Exposes the duplex mode, full-duplex or half-duplex. (leaf)","format":"enumeration","default":"full-duplex","enum":["full-duplex","half-duplex"]}},"description":"Contains L2 link attributes. (non-presence)"}}}}}}}}},"204":{"description":"No Content","content":{}},"400":{"description":"Bad Request","content":{}},"401":{"description":"Unauthorized","content":{}},"404":{"description":"Not Found","content":{}},"405":{"description":"Method Not Allowed","content":{}},"409":{"description":"Conflict","content":{}}},"security":[{"basicAuth":[]}],"__originalOperationId":"data_ietf_network_state_networks_network_network_network_id_ietf_network_topology_state_link_ietf_network_topology_state_link_link_id_get","method":"get","path":"/data/ietf-network-state:networks/network={network-id}/ietf-network-topology-state:link={link-id}"}}