File tree 4 files changed +46
-2
lines changed
interface-definitions/include/bgp
4 files changed +46
-2
lines changed Original file line number Diff line number Diff line change 35
35
{% if config.ebgp_multihop is defined and config.ebgp_multihop is not none %}
36
36
neighbor {{ neighbor }} ebgp-multihop {{ config.ebgp_multihop }}
37
37
{% endif %}
38
+ {% if config.graceful_restart is defined and config.graceful_restart is not none %}
39
+ {% if config.graceful_restart == 'enable' %}
40
+ {% set graceful_restart = 'graceful-restart' %}
41
+ {% elif config.graceful_restart == 'disable' %}
42
+ {% set graceful_restart = 'graceful-restart-disable' %}
43
+ {% elif config.graceful_restart == 'restart-helper' %}
44
+ {% set graceful_restart = 'graceful-restart-helper' %}
45
+ {% endif %}
46
+ neighbor {{ neighbor }} {{ graceful_restart }}
47
+ {% endif %}
38
48
{% if config.local_as is defined and config.local_as is not none %}
39
49
{% for local_asn in config.local_as %}
40
50
neighbor {{ neighbor }} local-as {{ local_asn }} {{ 'no-prepend' if config.local_as[local_asn].no_prepend is defined }}
Original file line number Diff line number Diff line change
1
+ <!-- include start from bgp/neighbor-graceful-restart.xml.i -->
2
+ <leafNode name=" graceful-restart" >
3
+ <properties>
4
+ <help>BGP graceful restart functionality</help>
5
+ <completionHelp>
6
+ <list>enable disable restart-helper</list>
7
+ </completionHelp>
8
+ <valueHelp>
9
+ <format>enable</format>
10
+ <description>Enable BGP graceful restart at peer level</description>
11
+ </valueHelp>
12
+ <valueHelp>
13
+ <format>disable</format>
14
+ <description>Disable BGP graceful restart at peer level</description>
15
+ </valueHelp>
16
+ <valueHelp>
17
+ <format>restart-helper</format>
18
+ <description>Enable BGP graceful restart helper only functionality</description>
19
+ </valueHelp>
20
+ <constraint>
21
+ <regex>^(enable|disable|restart-helper)$</regex>
22
+ </constraint>
23
+ </properties>
24
+ </leafNode>
25
+ <!-- include end -->
Original file line number Diff line number Diff line change 1000
1000
#include < include/bgp/neighbor-disable-capability-negotiation.xml.i>
1001
1001
#include < include/bgp/neighbor-disable-connected-check.xml.i>
1002
1002
#include < include/bgp/neighbor-ebgp-multihop.xml.i>
1003
+ <!--
1004
+ requires GitHub FRR issues #8403 to be fixed
1005
+ bgp/neighbor-graceful-restart.xml.i
1006
+ -->
1003
1007
<node name=" interface" >
1004
1008
<properties>
1005
1009
<help>Interface parameters</help>
1435
1439
#include < include/bgp/neighbor-disable-capability-negotiation.xml.i>
1436
1440
#include < include/bgp/neighbor-disable-connected-check.xml.i>
1437
1441
#include < include/bgp/neighbor-ebgp-multihop.xml.i>
1442
+ <!--
1443
+ requires GitHub FRR issues #8403 to be fixed
1444
+ bgp/neighbor-graceful-restart.xml.i
1445
+ -->
1446
+ #include < include/bgp/neighbor-graceful-restart.xml.i>
1438
1447
#include < include/bgp/neighbor-local-as.xml.i>
1439
1448
#include < include/bgp/neighbor-override-capability.xml.i>
1440
1449
#include < include/bgp/neighbor-passive.xml.i>
Original file line number Diff line number Diff line change @@ -161,7 +161,7 @@ def verify(bgp):
161
161
# Check if neighbor has both ipv4 unicast and ipv4 labeled unicast configured at the same time.
162
162
if 'ipv4_unicast' in peer_config ['address_family' ] and 'ipv4_labeled_unicast' in peer_config ['address_family' ]:
163
163
raise ConfigError (f'Neighbor "{ peer } " cannot have both ipv4-unicast and ipv4-labeled-unicast configured at the same time!' )
164
-
164
+
165
165
# Check if neighbor has both ipv6 unicast and ipv6 labeled unicast configured at the same time.
166
166
if 'ipv6_unicast' in peer_config ['address_family' ] and 'ipv6_labeled_unicast' in peer_config ['address_family' ]:
167
167
raise ConfigError (f'Neighbor "{ peer } " cannot have both ipv6-unicast and ipv6-labeled-unicast configured at the same time!' )
@@ -214,7 +214,7 @@ def verify(bgp):
214
214
if dict_search (f'parameters.distance.global.{ key } ' , bgp ) == None :
215
215
raise ConfigError ('Missing mandatory configuration option for ' \
216
216
f'global administrative distance { key } !' )
217
-
217
+
218
218
# Throw an error if the address family specific administrative distance parameters aren't all filled out.
219
219
if dict_search ('address_family' , bgp ) == None :
220
220
pass
You can’t perform that action at this time.
0 commit comments