Skip to content

Commit

Permalink
Refactor(eos_cli_config_gen): Add support for MPLS RSVP
Browse files Browse the repository at this point in the history
  • Loading branch information
Vibhu-gslab committed Oct 24, 2024
1 parent 3cac535 commit 30f3528
Show file tree
Hide file tree
Showing 9 changed files with 821 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
- [MPLS](#mpls-1)
- [MPLS and LDP](#mpls-and-ldp)
- [MPLS Interfaces](#mpls-interfaces)
- [MPLS RSVP](#mpls-rsvp)

## Management

Expand Down Expand Up @@ -123,6 +124,36 @@ mpls ldp
no shutdown
!
mpls icmp fragmentation-needed tunneling
!
mpls rsvp
hello interval 30 multiplier 254
authentication type md5
authentication sequence-number window 234
authentication index 55 password 7 SiMpLePaSsInDeX
authentication index 766 password 7 SiMpLePaSs
authentication index 766 active
ip access-group RSVP_access_group_ipv4
ipv6 access-group RSVP_access_group_ipv4
fast-reroute mode link-protection
fast-reroute reversion local
fast-reroute bypass tunnel optimization interval 65535 seconds
label local-termination explicit-null
preemption method soft timer 444
mtu signaling
!
hitless-restart
timer recovery 222 seconds
!
graceful-restart role helper
timer restart maximum 32 seconds
timer recovery maximum 33 seconds
!
graceful-restart role speaker
timer restart 35 seconds
timer recovery 36 seconds
!
p2mp
disabled
```

### MPLS Interfaces
Expand All @@ -131,3 +162,33 @@ mpls icmp fragmentation-needed tunneling
| --------- | --------------- | ----------- | -------- |
| Ethernet1 | True | True | True |
| Loopback0 | - | True | - |

### MPLS RSVP

#### MPLS RSVP Summary

| Settings | Value |
| -------- | ----- |
| Hello interval | 30 |
| Timeout multiplier | 254 |
| Authentication type | md5 |
| Authentication sequence-number window | 234 |
| Authentication active index | 766 |
| IPv4 access-group | RSVP_access_group_ipv4 |
| IPv6 access-group | RSVP_access_group_ipv6 |
| Label local-termination | explicit-null |
| Preemption method | soft |
| Preemption timer | 444 |
| Mtu signaling | True |
| Fast reroute mode | link-protection |
| Fast reroute reversion | local |
| Fast reroute bypass tunnel optimization interval | 65535 |
| Hitless restart | Active |
| Hitless restart recovery timer | 222 |

##### Graceful restart

| Role | Recovery timer | Restart timer |
| ---- | -------------- | ------------- |
| Helper | 32 | 33 |
| Speaker | 35 | 36 |
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,33 @@ mpls ldp
no shutdown
!
mpls icmp fragmentation-needed tunneling
!
mpls rsvp
hello interval 30 multiplier 254
authentication type md5
authentication sequence-number window 234
authentication index 55 password 7 SiMpLePaSsInDeX
authentication index 766 password 7 SiMpLePaSs
authentication index 766 active
ip access-group RSVP_access_group_ipv4
ipv6 access-group RSVP_access_group_ipv4
fast-reroute mode link-protection
fast-reroute reversion local
fast-reroute bypass tunnel optimization interval 65535 seconds
label local-termination explicit-null
preemption method soft timer 444
mtu signaling
!
hitless-restart
timer recovery 222 seconds
!
graceful-restart role helper
timer restart maximum 32 seconds
timer recovery maximum 33 seconds
!
graceful-restart role speaker
timer restart 35 seconds
timer recovery 36 seconds
!
p2mp
disabled
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,45 @@ mpls:
transport_address_interface: Loopback0
icmp:
fragmentation_needed_tunneling: true
rsvp:
hello:
interval: 30
multiplier: 254
authentication:
password_indexes:
- index: 766
password_type: 7
password: SiMpLePaSs
- index: 55
password_type: '7'
password: SiMpLePaSsInDeX
active_index: 766
sequence_number_window: 234
type: md5
fast_reroute:
mode: link-protection
reversion: local
bypass_tunnel_optimization_interval: 65535
graceful_restart:
role_helper:
enabled: true
grace_period_recovery: 32
grace_period_restart: 33
role_speaker:
enabled: true
grace_period_recovery: 35
grace_period_restart: 36
hitless_restart:
enabled: true
timer_recovery: 222
ip_access_group: RSVP_access_group_ipv4
ipv6_access_group: RSVP_access_group_ipv6
label_local_termination: explicit-null
mtu_signaling: true
p2mp_enabled: false
preemption_method:
preemption: soft
timer: 444

ethernet_interfaces:
- name: Ethernet1
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
{#
Copyright (c) 2023-2024 Arista Networks, Inc.
Use of this source code is governed by the Apache License 2.0
that can be found in the LICENSE file.
#}
{# doc - mpls interfaces #}
{% if mpls.rsvp is arista.avd.defined %}

### MPLS RSVP

#### MPLS RSVP Summary

| Settings | Value |
| -------- | ----- |
{% if mpls.rsvp.hello.interval is arista.avd.defined and mpls.rsvp.hello.multiplier is arista.avd.defined%}
| Hello interval | {{ mpls.rsvp.hello.interval }} |
| Timeout multiplier | {{ mpls.rsvp.hello.multiplier }} |
{% endif %}
{% if mpls.rsvp.authentication is arista.avd.defined %}
{% set auth = mpls.rsvp.authentication %}
| Authentication type | {{ auth.type | arista.avd.default('-') }} |
| Authentication sequence-number window | {{ auth.sequence_number_window | arista.avd.default('-') }} |
| Authentication active index | {{ auth.active_index | arista.avd.default('-') }} |
{% endif %}
{% if mpls.rsvp.ip_access_group is arista.avd.defined or mpls.rsvp.ipv6_access_group is arista.avd.defined %}
| IPv4 access-group | {{ mpls.rsvp.ip_access_group | arista.avd.default('-') }} |
| IPv6 access-group | {{ mpls.rsvp.ipv6_access_group | arista.avd.default('-') }} |
{% endif %}
{% if mpls.rsvp.label_local_termination is arista.avd.defined %}
| Label local-termination | {{ mpls.rsvp.label_local_termination }} |
{% endif %}
{% if mpls.rsvp.preemption_method.preemption is arista.avd.defined %}
| Preemption method | {{ mpls.rsvp.preemption_method.preemption }} |
{% if mpls.rsvp.preemption_method.timer is arista.avd.defined %}
| Preemption timer | {{ mpls.rsvp.preemption_method.timer }} |
{% endif %}
{% endif %}
{% if mpls.rsvp.mtu_signaling is arista.avd.defined %}
| Mtu signaling | {{ mpls.rsvp.mtu_signaling | arista.avd.default('-') }} |
{% endif %}
{% if mpls.rsvp.fast_reroute is arista.avd.defined %}
{% set fast_reroute = mpls.rsvp.fast_reroute %}
| Fast reroute mode | {{ fast_reroute.mode | arista.avd.default('-') }} |
| Fast reroute reversion | {{ fast_reroute.reversion | arista.avd.default('-') }} |
| Fast reroute bypass tunnel optimization interval | {{ fast_reroute.bypass_tunnel_optimization_interval | arista.avd.default('-') }} |
{% endif %}
{% if mpls.rsvp.hitless_restart is arista.avd.defined %}
| Hitless restart | Active |
| Hitless restart recovery timer | {{ mpls.rsvp.hitless_restart.timer_recovery | arista.avd.default('-') }} |
{% endif %}
{% if mpls.rsvp.graceful_restart is arista.avd.defined %}
{% set graceful_restart = mpls.rsvp.graceful_restart %}

##### Graceful restart

| Role | Recovery timer | Restart timer |
| ---- | -------------- | ------------- |
{% if graceful_restart.role_helper.enabled is arista.avd.defined(true) %}
| Helper | {{ graceful_restart.role_helper.grace_period_recovery | arista.avd.default('-') }} | {{ graceful_restart.role_helper.grace_period_restart | arista.avd.default('-') }} |
{% endif %}
{% if graceful_restart.role_speaker.enabled is arista.avd.defined(true) %}
| Speaker | {{ graceful_restart.role_speaker.grace_period_recovery | arista.avd.default('-') }} | {{ graceful_restart.role_speaker.grace_period_restart | arista.avd.default('-') }} |
{% endif %}
{% endif %}
{% endif %}
Original file line number Diff line number Diff line change
Expand Up @@ -27,4 +27,6 @@
{% include 'documentation/mpls-and-ldp.j2' %}
{## MPLS Interfaces #}
{% include 'documentation/mpls-interfaces.j2' %}
{## MPLS Rsvp #}
{% include 'documentation/mpls-rsvp.j2' %}
{% endif %}
Loading

0 comments on commit 30f3528

Please sign in to comment.