summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorYuriy Andamasov <yuriy@vyos.io>2026-10-03 17:44:30 +0300
committerYuriy Andamasov <yuriy@vyos.io>2026-10-03 17:44:30 +0300
commitfc658bd299163940f94f7ca5d59d59928afd9342 (patch)
treebb336ba120fb484bc0fab2d7b9d7847f335b8df7 /docs
parenta8556d7dd81dd851512bb36d54b58139d0c08412 (diff)
downloadvyos-documentation-fc658bd299163940f94f7ca5d59d59928afd9342.tar.gz
vyos-documentation-fc658bd299163940f94f7ca5d59d59928afd9342.zip
docs: T8887: state SR-TE segment-list commit requirements
Per protocols_segment-routing.py verify(): a segment list needs at least one index; each index needs an MPLS label or a NAI; an adjacency NAI needs both source- and destination-identifier; a prefix identifier needs an algorithm; IS-IS/OSPF import, adjacency/prefix, IPv4/IPv6 and spf/strict-spf are mutually exclusive. Add a complete example. 🤖 Generated by [robots](https://vyos.io)
Diffstat (limited to 'docs')
-rw-r--r--docs/configuration/protocols/segment-routing.md25
1 files changed, 24 insertions, 1 deletions
diff --git a/docs/configuration/protocols/segment-routing.md b/docs/configuration/protocols/segment-routing.md
index fccb2f40..c1bbe240 100644
--- a/docs/configuration/protocols/segment-routing.md
+++ b/docs/configuration/protocols/segment-routing.md
@@ -368,13 +368,16 @@ the path.
```{cfgcmd} set protocols segment-routing traffic-engineering database-import-protocol \<isis | ospf\>
Select the IGP whose originated Traffic Engineering (TE) database is imported
-into the TED.
+into the TED. IS-IS and OSPF are mutually exclusive.
```
```{cfgcmd} set protocols segment-routing traffic-engineering segment-list \<name\>
Define a named segment list. Each entry of the list is addressed by an index
and describes one segment of the path.
+
+A segment list requires at least one index, and each index requires either
+an MPLS label or a NAI. Otherwise, the commit fails.
```
```{cfgcmd} set protocols segment-routing traffic-engineering segment-list \<name\> index \<index\> mpls label \<16-1048575\>
@@ -386,6 +389,10 @@ Set an MPLS label value for the given segment list index.
Set the adjacency source address identifier (IPv4 or IPv6) for the given
segment list index.
+
+An adjacency NAI requires both `source-identifier` and
+`destination-identifier`. A NAI is either an adjacency or a prefix, not
+both, and uses either IPv4 or IPv6, not both.
```
```{cfgcmd} set protocols segment-routing traffic-engineering segment-list \<name\> index \<index\> nai adjacency \<ipv4 | ipv6\> destination-identifier \<address\>
@@ -398,6 +405,9 @@ segment list index.
Set an IGP prefix identifier (IPv4 or IPv6 prefix) for the given segment list
index.
+
+A prefix identifier requires an `algorithm` (see the next command).
+Otherwise, the commit fails.
```
```{cfgcmd} set protocols segment-routing traffic-engineering segment-list \<name\> index \<index\> nai prefix \<ipv4 | ipv6\> prefix-identifier \<prefix\> algorithm \<spf | strict-spf\>
@@ -407,6 +417,19 @@ Select the IGP prefix algorithm style for the prefix identifier:
- `spf`: Shortest Path First (SPF).
- `strict-spf`: Strict SPF - ignore any possible local policy overriding the
SPF along the path.
+
+`spf` and `strict-spf` are mutually exclusive.
+```
+
+Example of a segment list with one MPLS label, one adjacency, and one
+prefix segment:
+
+```none
+set protocols segment-routing traffic-engineering database-import-protocol isis
+set protocols segment-routing traffic-engineering segment-list SL1 index 10 mpls label 16001
+set protocols segment-routing traffic-engineering segment-list SL1 index 20 nai adjacency ipv4 source-identifier 192.0.2.1
+set protocols segment-routing traffic-engineering segment-list SL1 index 20 nai adjacency ipv4 destination-identifier 192.0.2.2
+set protocols segment-routing traffic-engineering segment-list SL1 index 30 nai prefix ipv4 prefix-identifier 198.51.100.1/32 algorithm spf
```
## Examples