-
Notifications
You must be signed in to change notification settings - Fork 17
IS-IS Graceful Support #423
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
base: master
Are you sure you want to change the base?
Changes from 18 commits
97ab9a0
3f71708
1b6e286
18aca5d
6bb1ee6
6af7c4c
503fe79
94b6561
515ea84
b9d7a63
f71ec60
72d6707
4fb74dd
91ad035
d5f6404
b31c4c3
fc218c3
93a9bdf
7e13610
bb50993
633fdc6
1308161
72ba9a9
d886383
d48fd13
1d0f9ad
363573b
45b03be
eee7ab2
f23f839
de68ca2
c007e21
b3513ea
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,112 @@ | ||
openapi: 3.0.3 | ||
info: | ||
title: IS-IS Control models | ||
description: >- | ||
All IS-IS control schemas | ||
version: ^0.0.0 | ||
components: | ||
schemas: | ||
Action.Protocol.Isis: | ||
description: >- | ||
Actions associated with IS-IS on configured resources. | ||
type: object | ||
properties: | ||
initiate_restart: | ||
description: >- | ||
Configuration for the initiation of the IS-IS Graceful Restart. | ||
$ref: "#/components/schemas/Isis.Action.Protocol.Isis.InitiateRestart" | ||
x-field-uid: 2 | ||
|
||
Isis.Action.Protocol.Isis.InitiateRestart: | ||
description: |- | ||
Container of the configuration for the initiation of IS-IS Graceful Restart. | ||
Timers T1 and T2 are used both by a restarting router and a starting router. Timer T3 is used only by a restarting router. | ||
- Timer T1 is maintained per interface and indicates the time after which an unacknowledged (re)start attempt will be repeated. Its value is 3 seconds. | ||
- Timer T2 is maintained for each LSP database (LSPDB) for Level 1 and Level 2. Default value is 60 seconds. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. LSPDB -> LSDB There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. If this expired, what should the impl. do ? |
||
- Timer T3 is maintained for the entire system fter which the router will declare that it has failed to achieve database synchronization | ||
(by setting the overload bit in its own LSP). Its initial value is 65535 seconds and is set to minimum of the remaining times of received IIHs | ||
containing a Restart TlV with the RA set. | ||
type: object | ||
properties: | ||
router_names: | ||
description: >- | ||
The names of device objects to control. | ||
type: array | ||
items: | ||
type: string | ||
x-constraint: | ||
- /components/schemas/Device.IsisRouter/properties/name | ||
x-field-uid: 1 | ||
choice: | ||
type: string | ||
default: unplanned | ||
x-field-uid: 2 | ||
x-enum: | ||
unplanned: | ||
x-field-uid: 1 | ||
subpress_adjacency: | ||
x-field-uid: 3 | ||
unplanned: | ||
$ref: "#/components/schemas/Isis.Action.Protocol.Isis.UnplannedRestart" | ||
x-field-uid: 3 | ||
supress_adjacency: | ||
SuryyaKrJana marked this conversation as resolved.
Show resolved
Hide resolved
|
||
$ref: "#/components/schemas/Isis.Action.Protocol.Isis.SupressAdjacency" | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. suppress |
||
x-field-uid: 5 | ||
|
||
Isis.Action.Protocol.Isis.UnplannedRestart: | ||
description: >- | ||
Initiates IS-IS Unplanned Graceful Restart process for the selected IS-IS routers. | ||
If no name is specified then Graceful Restart will be sent to all configured IS-IS routers. | ||
When an emulated IS-IS router is in the unplanned "Restarting" mode, | ||
it sends to the neighbor router (DUT) an IIH containing a Restart TLV with the RR (Restart Request) bit set. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. sit and hold_time updated to as specified by user to indicate the maximum time within which this router or routers will complete the graceful restart. |
||
type: object | ||
properties: | ||
holding_time: | ||
description: >- | ||
This is the estimated duration (in seconds) it will take for the | ||
IS-IS session to be re-established after a restart. | ||
The hold-timer in the IIH is updated with this time. | ||
type: integer | ||
format: uint32 | ||
maximum: 4096 | ||
default: 30 | ||
minimum: 10 | ||
x-field-uid: 1 | ||
restart_after: | ||
description: >- | ||
Time (in seconds) after which the actually restart will be initiated in IIH with Restart Tlv having RR bit set. | ||
SuryyaKrJana marked this conversation as resolved.
Show resolved
Hide resolved
|
||
type: integer | ||
format: uint32 | ||
maximum: 4096 | ||
default: 10 | ||
minimum: 10 | ||
x-field-uid: 2 | ||
SuryyaKrJana marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
Isis.Action.Protocol.Isis.SupressAdjacency: | ||
description: >- | ||
Initiates IS-IS Suppress adjacency advertisement process for the selected IS-IS routers. | ||
If no name is specified then Start will be sent to all configured IS-IS routers. | ||
When an emulated IS-IS router is in the unplanned "Restarting" mode, | ||
it sends to the neighbor router (DUT) an IIH containing a Restart TLV with the SA (Suppress adjacency advertisement) bit set. | ||
type: object | ||
properties: | ||
holding_time: | ||
description: >- | ||
This is the estimated duration (in seconds) it will take for | ||
the IS-IS session to be re-established after a start by initiating Restart TLV having SA bit set in IIH. | ||
The hold-timer in the IIH is updated with this time. | ||
type: integer | ||
format: uint32 | ||
maximum: 4096 | ||
default: 30 | ||
minimum: 10 | ||
x-field-uid: 1 | ||
restart_after: | ||
description: >- | ||
Time (in seconds) after which the actually Restart TLV will be initiated in IIH with Restart TLV having SA bit set. | ||
type: integer | ||
format: uint32 | ||
maximum: 4096 | ||
default: 10 | ||
minimum: 10 | ||
x-field-uid: 2 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
components: | ||
schemas: | ||
Isis.GracefulRestart: | ||
description: |- | ||
Contains IS-IS Graceful configuration parameters. | ||
The emulated IS-IS router that supports Graceful Restart capability MUST include Restart TLV in all transmitted IIHs. | ||
- If this router is to be acting as the "Helper" mode for a Restarting Router. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think this can be excluded. |
||
- If this router is to be acting as the "Restarting" mode then "Restart" trigger should be initiated by set_control_action for "isis" under "protocol" choice. | ||
In that case, "helper_mode" can be configured as true or false for the "Helper" mode as well "Restarting" mode or only "Restaring" router respectively. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Can also be probably removed. |
||
Reference: https://datatracker.ietf.org/doc/html/rfc8706 | ||
type: object | ||
properties: | ||
helper_mode: | ||
description: >- | ||
The emulated IS-IS router will act as the "Helper" for the DUT that is restarting. | ||
It acknowledges the Restart TLV sent by the DUT by sending an IIH containing a Restart TLV with the RA (Restart Acknowledgment) bit set. | ||
type: boolean | ||
default: true | ||
x-field-uid: 1 |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -81,6 +81,30 @@ components: | |
x-field-uid: 25 | ||
l2_lsp_received: | ||
x-field-uid: 26 | ||
l1_rr_sent: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Will these stats , if needing to be exposed , be separate for l1 and l2 on a l1+l2 link ? |
||
x-field-uid: 27 | ||
l1_rr_received: | ||
x-field-uid: 28 | ||
l1_ra_sent: | ||
x-field-uid: 29 | ||
l1_ra_received: | ||
x-field-uid: 30 | ||
l1_sa_sent: | ||
x-field-uid: 31 | ||
l1_sa_received: | ||
x-field-uid: 32 | ||
l2_rr_sent: | ||
x-field-uid: 33 | ||
l2_rr_received: | ||
x-field-uid: 34 | ||
l2_ra_sent: | ||
x-field-uid: 35 | ||
l2_ra_received: | ||
x-field-uid: 36 | ||
l2_sa_sent: | ||
x-field-uid: 37 | ||
l2_sa_received: | ||
x-field-uid: 38 | ||
x-field-uid: 2 | ||
Isis.Metric: | ||
description: >- | ||
|
@@ -248,3 +272,69 @@ components: | |
type: integer | ||
format: uint64 | ||
x-field-uid: 27 | ||
l1_rr_sent: | ||
description: >- | ||
Number of Level 1 (L1) Restart Request (RR) sent. | ||
SuryyaKrJana marked this conversation as resolved.
Show resolved
Hide resolved
|
||
type: integer | ||
format: uint64 | ||
x-field-uid: 28 | ||
l1_rr_received: | ||
description: >- | ||
Number of Level 1 (L1) Restart Request (RR) received. | ||
type: integer | ||
format: uint64 | ||
x-field-uid: 29 | ||
l1_ra_sent: | ||
description: >- | ||
Number of Level 1 (L1) Restart Acknowledgement (RA) sent. | ||
type: integer | ||
format: uint64 | ||
x-field-uid: 30 | ||
l1_ra_received: | ||
description: >- | ||
Number of Level 1 (L1) Restart Acknowledgement (RA) received. | ||
type: integer | ||
format: uint64 | ||
x-field-uid: 31 | ||
l1_sa_sent: | ||
description: >- | ||
Number of Level 1 (L1) Suppress adjacency advertisement (SA) sent. | ||
type: integer | ||
format: uint64 | ||
x-field-uid: 32 | ||
l1_sa_received: | ||
description: >- | ||
Number of Level 1 (L1) Suppress adjacency advertisement (SA) received. | ||
type: integer | ||
format: uint64 | ||
x-field-uid: 33 | ||
l2_rr_received: | ||
description: >- | ||
Number of Level 2 (L2) Restart Request (RR) received. | ||
type: integer | ||
format: uint64 | ||
x-field-uid: 34 | ||
l2_ra_sent: | ||
description: >- | ||
Number of Level 2 (L2) Restart Acknowledgement (RA) sent. | ||
type: integer | ||
format: uint64 | ||
x-field-uid: 35 | ||
l2_ra_received: | ||
description: >- | ||
Number of Level 2 (L2) Restart Acknowledgement (RA) received. | ||
type: integer | ||
format: uint64 | ||
x-field-uid: 36 | ||
l2_sa_sent: | ||
description: >- | ||
Number of Level 2 (L2) Suppress adjacency advertisement (SA) sent. | ||
type: integer | ||
format: uint64 | ||
x-field-uid: 37 | ||
l2_sa_received: | ||
description: >- | ||
Number of Level 2 (L2) Suppress adjacency advertisement (SA) received. | ||
type: integer | ||
format: uint64 | ||
x-field-uid: 38 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This line is not needed.