Links
The fields Prelude TE surfaces on each link, including metrics, bandwidth, admin groups, SRLGs, SR-MPLS adjacency SIDs, and SRv6 End.X SIDs.
A link in the topology is a directed adjacency between two nodes. This page documents every field the engine surfaces on a link.
Example payloads
IPv4 link with SR-MPLS adjacency SIDs
An IPv4 link between two SR-MPLS-enabled routers, with two adjacency SIDs (one protected, one unprotected), metrics, bandwidth, admin groups, and interface addresses:
{
"key": "ASN:64001/BGPLS:100/IGP:0001.0000.0001->ASN:64001/BGPLS:100/IGP:0001.0000.0002[0:0/IPv4]",
"safe-id": "ASN_64001_BGPLS_100_IGP_0001_0000_0001->ASN_64001_BGPLS_100_IGP_0001_0000_0002[0_0_IPv4]",
"instance-id": 100,
"local-node-key": "ASN:64001/BGPLS:100/IGP:0001.0000.0001",
"remote-node-key": "ASN:64001/BGPLS:100/IGP:0001.0000.0002",
"link-local-id": 0,
"link-remote-id": 0,
"address-family": "IPv4",
"metric": {
"igp": 10,
"te": 100,
"delay": 6543
},
"delay": {
"min": 6543,
"max": 6543,
"average": 6543,
"jitter": 0
},
"bandwidth": 1000000,
"unreserved-bandwidth": [0, 0, 0, 0, 0, 0, 0, 0],
"admin-group": 32,
"affinity-bits": [5],
"sr-mpls": {
"adjacency-sids": [
{ "sid": 24000, "protected": true },
{ "sid": 24001, "protected": false }
]
},
"local-address": "10.1.2.1",
"remote-address": "10.1.2.2",
"link-type": 0,
"protocol-id": 2,
"source-peers": ["172.31.0.200", "172.31.0.100"],
"last-update": "2026-05-26T11:22:45.584759+02:00"
}
IPv6 link with SRv6 End.X SIDs
An IPv6 link between two SRv6-enabled routers, carrying End.X SIDs across two algorithms with their endpoint behaviors named and SID structure decoded:
{
"key": "ASN:64001/BGPLS:100/IGP:0001.0000.0001->ASN:64001/BGPLS:100/IGP:0001.0000.0002[9:9/IPv6]",
"safe-id": "ASN_64001_BGPLS_100_IGP_0001_0000_0001->ASN_64001_BGPLS_100_IGP_0001_0000_0002[9_9_IPv6]",
"instance-id": 100,
"local-node-key": "ASN:64001/BGPLS:100/IGP:0001.0000.0001",
"remote-node-key": "ASN:64001/BGPLS:100/IGP:0001.0000.0002",
"link-local-id": 9,
"link-remote-id": 9,
"address-family": "IPv6",
"metric": {
"igp": 10,
"te": 100,
"delay": 6543
},
"delay": {
"min": 6543,
"max": 6543,
"average": 6543,
"jitter": 0
},
"bandwidth": 1000000,
"unreserved-bandwidth": [0, 0, 0, 0, 0, 0, 0, 0],
"admin-group": 32,
"affinity-bits": [5],
"srv6": {
"end-x-sids": [
{
"sid": "fcdd:dd00:1:e000::",
"algorithm": 0,
"weight": 0,
"endpoint-behavior": 57,
"endpoint-behavior-name": "End.X (Flex-Algo)",
"protected": true,
"sid-structure": {
"local-block": 32,
"local-node": 16,
"local-func": 16,
"local-arg": 64
}
},
{
"sid": "fcdd:dd00:1:e001::",
"algorithm": 0,
"weight": 0,
"endpoint-behavior": 57,
"endpoint-behavior-name": "End.X (Flex-Algo)",
"protected": false,
"sid-structure": {
"local-block": 32,
"local-node": 16,
"local-func": 16,
"local-arg": 64
}
},
{
"sid": "fcdd:dd01:1:e000::",
"algorithm": 128,
"weight": 0,
"endpoint-behavior": 57,
"endpoint-behavior-name": "End.X (Flex-Algo)",
"protected": true,
"sid-structure": {
"local-block": 32,
"local-node": 16,
"local-func": 16,
"local-arg": 64
}
},
{
"sid": "fcdd:dd01:1:e001::",
"algorithm": 128,
"weight": 0,
"endpoint-behavior": 57,
"endpoint-behavior-name": "End.X (Flex-Algo)",
"protected": false,
"sid-structure": {
"local-block": 32,
"local-node": 16,
"local-func": 16,
"local-arg": 64
}
}
]
},
"link-type": 0,
"protocol-id": 2,
"source-peers": ["172.31.0.200", "172.31.0.100"],
"last-update": "2026-05-26T11:22:45.604774+02:00"
}
Identity
key— canonical identifier of the form<local-node-key>-><remote-node-key>[<local-id>:<remote-id>/<address-family>].safe-id— an HTML/URL-safe variant of the key.instance-id— the BGP-LS Instance Identifier the link belongs to. Same as the domain.local-node-key/remote-node-key— the keys of the endpoints. Look them up under Nodes.link-local-id/link-remote-id— per-router link identifiers.address-family—IPv4orIPv6. The same node pair can be connected by an IPv4 link and an IPv6 link; they are kept as separate links.
Addresses
local-address/remote-address— interface addresses on the local and remote ends, when advertised.
Metrics
metric:igp— the primary metric used by SPF.te— the TE metric, may differ from IGP.delay— the minimum unidirectional delay in microseconds.
delay(RFC 8571 unidirectional delay metrics, when advertised):min,max,average,jitter, all in microseconds.
Bandwidth
bandwidth— maximum link bandwidth in kbps.reservable-bandwidth— maximum reservable bandwidth in kbps.unreserved-bandwidth— eight values, one per traffic-engineering priority (0–7), in kbps.
Constraints
admin-group— 32-bit admin-group bitmask (link colors).affinity-bits— the positions of the bits set inadmin-group, pre-decoded so you do not need to do the bit-twiddling.srlgs— the list of Shared Risk Link Group identifiers advertised for this link.
SR-MPLS
If the link advertises SR-MPLS (RFC 8667), the export carries an
sr-mpls block with the adjacency segments bound to it:
adjacency-sids— one entry per Adjacency SID. Each entry has:sid— the MPLS label.protected—trueif the adjacency is protected by a fast-reroute backup path.
SRv6
If the link advertises SRv6 (RFC 9514), the export carries an
srv6 block with its End.X SIDs:
end-x-sids— one entry per End.X SID. Each entry has:sid— the full SRv6 SID, as an IPv6 address.algorithm—0plain SPF,1Strict-SPF,128–255Flex-Algo.weight— weight used when several End.X SIDs share the same adjacency for ECMP.endpoint-behavior— the IANA-registered behavior code.endpoint-behavior-name— the human-readable behavior name (End.X,End.X (PSP),End.X (Flex-Algo), …).protected—trueif the adjacency is protected.sid-structure— the four-field breakdown of the SID:local-block(LBL) — Locator Block Length.local-node(LNL) — Locator Node Length.local-func(FL) — Function Length.local-arg(AL) — Argument Length.
Protocol attributes
link-type—1for point-to-point,2for multi-access.protocol-id— same scale as on Nodes.
Source peers and last update
source-peers— the list of BGP-LS speakers currently contributing this link.last-update— timestamp of the most recent change.