Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for ISIS MPLS Segment Routing #397

Open
wants to merge 33 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 21 commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
f6e8b6f
ISIS-SR Draft
SuryyaKrJana Nov 29, 2024
03b61ba
Update auto generated content
actions-user Nov 29, 2024
35c9e80
ISIS segment Routing Learned Info
SuryyaKrJana Nov 29, 2024
090469f
Update auto generated content
actions-user Nov 29, 2024
e9fecb1
go snappi build failure
SuryyaKrJana Dec 2, 2024
d62dfe2
Merge branch 'isis-sr' of https://github.com/open-traffic-generator/m…
SuryyaKrJana Dec 2, 2024
d05436c
Update auto generated content
actions-user Dec 2, 2024
73252de
moved RT Cap TLV in LI to under TLVs
SuryyaKrJana Dec 5, 2024
4f605aa
Merge branch 'isis-sr' of https://github.com/open-traffic-generator/m…
SuryyaKrJana Dec 5, 2024
e03be60
Update auto generated content
actions-user Dec 5, 2024
aa7c6d3
review comments
SuryyaKrJana Dec 11, 2024
1d87d37
Update auto generated content
actions-user Dec 11, 2024
8d1226e
comments
SuryyaKrJana Dec 11, 2024
6a1b426
Merge branch 'isis-sr' of https://github.com/open-traffic-generator/m…
SuryyaKrJana Dec 11, 2024
b9b8498
Update auto generated content
actions-user Dec 11, 2024
24c032d
sid correction
SuryyaKrJana Dec 12, 2024
5a86e98
Merge branch 'isis-sr' of https://github.com/open-traffic-generator/m…
SuryyaKrJana Dec 12, 2024
536b5ed
Update auto generated content
actions-user Dec 12, 2024
40d210b
revisiting LI
SuryyaKrJana Dec 13, 2024
53aa1bc
Merge branch 'isis-sr' of https://github.com/open-traffic-generator/m…
SuryyaKrJana Dec 13, 2024
cd134fa
Update auto generated content
actions-user Dec 13, 2024
bb20f24
review comments
SuryyaKrJana Dec 16, 2024
37bb3c4
Merge branch 'isis-sr' of https://github.com/open-traffic-generator/m…
SuryyaKrJana Dec 16, 2024
f468f96
Update auto generated content
actions-user Dec 16, 2024
a7ff7f9
merging from master
SuryyaKrJana Dec 16, 2024
5321656
Merge branch 'isis-sr' of https://github.com/open-traffic-generator/m…
SuryyaKrJana Dec 16, 2024
4739be7
Update auto generated content
actions-user Dec 16, 2024
5c8c6c1
review comments
SuryyaKrJana Dec 17, 2024
1cec32b
Merge branch 'isis-sr' of https://github.com/open-traffic-generator/m…
SuryyaKrJana Dec 17, 2024
8edaa94
Update auto generated content
actions-user Dec 17, 2024
e74039a
minor comments in description
SuryyaKrJana Dec 18, 2024
b377d36
Merge branch 'isis-sr' of https://github.com/open-traffic-generator/m…
SuryyaKrJana Dec 18, 2024
4e9ed31
Update auto generated content
actions-user Dec 18, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions artifacts/openapi.html

Large diffs are not rendered by default.

714 changes: 704 additions & 10 deletions artifacts/openapi.yaml

Large diffs are not rendered by default.

501 changes: 489 additions & 12 deletions artifacts/otg.proto

Large diffs are not rendered by default.

92 changes: 92 additions & 0 deletions device/isis/adjacencysegmentid.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
components:
schemas:
IsisInterface.AdjacencySID:
description: |-
Optional container for segment routing MPLS settings.
If the container exists then the adjacency SID (segment identifier)
sub TLV will be part of the packet.
Reference: https://datatracker.ietf.org/doc/html/rfc8667#name-adjacency-segment-identifie.
type: object
properties:
choice:
description: |-
The choice of Adjacency-SID carries a value instead of an index.
Refer to "srlg_values" under Isis.Interface for SR Local Block (SRLB) and
IsisSR.Srgb under Isis.SRCapability for Segment Routing Global Block (SRGB) Descriptor.
SuryyaKrJana marked this conversation as resolved.
Show resolved Hide resolved
- sid_value: Adjacency-SID carries a value.
- sid_index: Adjacency-SID carries an index.
type: string
default: sid_value
x-field-uid: 1
x-enum:
sid_value:
x-field-uid: 1
sid_index:
x-field-uid: 2
sid_value:
description: |-
The corresponding Adjacency SID for a link.
SuryyaKrJana marked this conversation as resolved.
Show resolved Hide resolved
type: integer
format: uint32
default: 0
minimum: 1
maximum: 1048575
SuryyaKrJana marked this conversation as resolved.
Show resolved Hide resolved
x-field-uid: 2
sid_index:
description: |-
The corresponding Adjacency SID for a link.
SuryyaKrJana marked this conversation as resolved.
Show resolved Hide resolved
type: integer
format: uint32
default: 0
minimum: 1
SuryyaKrJana marked this conversation as resolved.
Show resolved Hide resolved
maximum: 1048575
apratimmukherjee marked this conversation as resolved.
Show resolved Hide resolved
x-field-uid: 3
f_flag:
description: |-
The address family flag. If unset, then the Adj-SID refers
to an adjacency with outgoing IPv4 encapsulation. If set then
the Adj-SID refers to an adjacency with outgoing IPv6
encapsulation.
type: boolean
default: false
x-field-uid: 4
b_flag:
description: |-
The backup flag. If set, the Adj-SID is eligible for protection.
type: boolean
default: false
x-field-uid: 5
l_flag:
description: |-
The local flag. If set, then the value/index carried by
the Adj-SID has local significance. In this case, Adjacency_sid is from "srlg_values" under Isis.Interface.
SuryyaKrJana marked this conversation as resolved.
Show resolved Hide resolved
type: boolean
default: true
x-field-uid: 6
s_flag:
description: |-
The set flag. When set, the S-Flag indicates that the
Adj-SID refers to a set of adjacencies (and therefore MAY be
assigned to other adjacencies as well).
type: boolean
default: false
x-field-uid: 7
p_flag:
description: |-
The persistent flag. When set, the P-Flag indicates that
the Adj-SID is persistently allocated, i.e., the Adj-SID value
remains consistent across router restart and/or interface flap.
type: boolean
default: false
apratimmukherjee marked this conversation as resolved.
Show resolved Hide resolved
x-field-uid: 8
weight:
description: |-
The value represents the weight of the Adj-SID for the purpose of load balancing.
type: integer
format: uint32
default: 0
minimum: 0
maximum: 255
x-field-uid: 9


10 changes: 9 additions & 1 deletion device/isis/interface.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,15 @@ components:
x-field-uid: 12
name:
x-include: ../common/common.yaml#/components/schemas/Named.Object/properties/name
x-field-uid: 13
x-field-uid: 13
segment_routings:
SuryyaKrJana marked this conversation as resolved.
Show resolved Hide resolved
description: >-
List of Adjacency Segment Identifier (Adj-SID) sub-TLVs.
type: array
items:
$ref: './adjacencysegmentid.yaml#/components/schemas/IsisInterface.AdjacencySID'
x-field-uid: 14

IsisInterface.Level:
description: >-
Configuration for the properties of Level 1 Hello.
Expand Down
7 changes: 7 additions & 0 deletions device/isis/isis.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -57,3 +57,10 @@ components:
name:
x-include: ../common/common.yaml#/components/schemas/Named.Object/properties/name
x-field-uid: 9
segment_routing:
description: >-
Segment Routing (SR).
apratimmukherjee marked this conversation as resolved.
Show resolved Hide resolved
$ref: './segmentrouting.yaml#/components/schemas/Isis.SegmentRouting'
apratimmukherjee marked this conversation as resolved.
Show resolved Hide resolved
x-field-uid: 10


92 changes: 92 additions & 0 deletions device/isis/prefixsegmentid.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
components:
schemas:
IsisSR.PrefixSID:
description: >-
This contains the properties of IS-IS Prefix-SID and its attributes for
the extended Ipv4 and Ipv6 reachability.
Refernce: https://datatracker.ietf.org/doc/html/rfc8667#name-prefix-segment-identifier-p.
SuryyaKrJana marked this conversation as resolved.
Show resolved Hide resolved
type: object
properties:
choice:
description: |-
The choice of Prefix-SID carries a value instead of an index.
SuryyaKrJana marked this conversation as resolved.
Show resolved Hide resolved
Refer to "srgb_ranges" under IsisSR.Srlb under Isis.RouterCapability or the SR Local Block (SRLB)
and IsisSR.Srgb under Isis.SRCapability for the Segment Routing Global Block (SRGB) Descriptor.
- sid_value: Prefix-SID carries a value
- sid_index: Prefix-SID carries an index.
type: string
default: sid_value
x-field-uid: 1
x-enum:
sid_value:
x-field-uid: 1
sid_index:
x-field-uid: 2
sid_value:
description: >-
SID/Label value that is associated
with the IGP Prefix segment attached to the specific IPv4 or IPv6 prefix.
type: integer
format: uint32
default: 16000
SuryyaKrJana marked this conversation as resolved.
Show resolved Hide resolved
x-field-uid: 2
sid_index:
description: >-
SID/Label Index that is associated
with the IGP Prefix segment attached to the specific IPv4 or IPv6 prefix.
type: integer
format: uint32
default: 0
x-field-uid: 3
r_flag:
description: |-
R-Flag: Re-advertisement Flag.
If set, then the prefix to which this Prefix-SID is attached has been propagated by the router
from either another level (i.e., from Level-1 to Level-2 or the opposite) or redistribution (e.g., from another protocol).
type: boolean
default: false
x-field-uid: 4
n_flag:
description: |-
N-Flag: Node-SID flag.
If set, then the Prefix-SID refers to the router identified by the prefix.
Typically, the N-Flag is set on Prefix-SIDs that are attached to a router loopback address.
The N-Flag is set when the Prefix-SID is a Node-SID as described in [RFC8402].
type: boolean
default: false
x-field-uid: 5
p_flag:
description: |-
P-Flag: No-PHP (No Penultimate Hop-Popping) Flag.
If set, then the Prefix-SID refers to the router identified by the prefix.
Typically, the N-Flag is set on Prefix-SIDs that are attached to a router loopback address.
SuryyaKrJana marked this conversation as resolved.
Show resolved Hide resolved
The N-Flag is set when the Prefix-SID is a Node-SID as described in [RFC8402].
type: boolean
default: false
x-field-uid: 6
e_flag:
description: |-
E-Flag: Explicit-Null Flag.
If set, any upstream neighbor of the Prefix-SID originator MUST replace the Prefix-SID with a Prefix-SID
that has an Explicit NULL value (0 for IPv4 and 2 for IPv6) before forwarding the packet.
type: boolean
default: false
x-field-uid: 7
l_flag:
description: |-
The local flag. If set, then the value/index carried by
the Prefix-SID has local significance and the Prefix SID is from "srgb_ranges" under IsisSR.Srlb under Isis.RouterCapability.
SuryyaKrJana marked this conversation as resolved.
Show resolved Hide resolved
type: boolean
default: false
x-field-uid: 8
algorithm:
description: |-
The Isis may use various algorithms when calculating
reachability to other nodes or to prefixes attached to these
nodes.
SuryyaKrJana marked this conversation as resolved.
Show resolved Hide resolved
type: integer
format: uint32
default: 0
minimum: 0
maximum: 255
x-field-uid: 9
Loading