Skip to content
Documentation Prelude Topology Engine 1.0.0

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

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"
}

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-familyIPv4 or IPv6. 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 in admin-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.
    • protectedtrue if 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.
    • algorithm0 plain SPF, 1 Strict-SPF, 128–255 Flex-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), …).
    • protectedtrue if 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-type1 for point-to-point, 2 for 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.
Filtering by: