summaryrefslogtreecommitdiff
path: root/data/templates/frr/ldpd.frr.tmpl
blob: 3384efd007498a96b530c4d07e4bd9e109d27a62 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
!
{% if ldp is defined -%}
mpls ldp
{%     if ldp.router_id is defined -%}
router-id {{ ldp.router_id }}
{%     endif -%}
{%     if ldp.parameters is defined -%}
{%         if ldp.parameters.cisco_interop_tlv is defined -%}
dual-stack cisco-interop
{%         endif -%}
{%         if ldp.parameters.transport_prefer_ipv4 is defined-%}
dual-stack transport-connection prefer ipv4
{%         endif -%}
{%     endif -%}
{%     if ldp.neighbor is defined -%}
{%         for neighbors in ldp.neighbor -%}
{%             if ldp.neighbor[neighbors].password is defined -%}
neighbor {{neighbors}} password {{ldp.neighbor[neighbors].password}}
{%             endif -%}
{%             if ldp.neighbor[neighbors].ttl_security is defined -%}
{%                 if 'disable' in ldp.neighbor[neighbors].ttl_security %}
neighbor {{neighbors}} ttl-security disable
{%                 else -%}
neighbor {{neighbors}} ttl-security hops {{ldp.neighbor[neighbors].ttl_security}}
{%                 endif -%}
{%             endif -%}
{%             if ldp.neighbor[neighbors].session_holdtime is defined -%}
neighbor {{neighbors}} session holdtime {{ldp.neighbor[neighbors].session_holdtime}}
{%             endif -%}
{%         endfor -%}
{%     endif -%}
!
{%     if ldp.discovery is defined -%}
{%         if ldp.discovery.transport_ipv4_address is defined -%}
address-family ipv4
label local allocate host-routes
{%             if ldp.discovery.transport_ipv4_address is defined -%}
discovery transport-address {{ ldp.discovery.transport_ipv4_address }}
{%             endif -%}
{%             if ldp.discovery.hello_ipv4_holdtime is defined -%}
discovery hello holdtime {{ ldp.discovery.hello_ipv4_holdtime }}
{%             endif -%}
{%             if ldp.discovery.hello_ipv4_interval is defined -%}
discovery hello interval {{ ldp.discovery.hello_ipv4_interval }}
{%             endif -%}
{%             if ldp.discovery.session_ipv4_holdtime is defined -%}
session holdtime {{ ldp.discovery.session_ipv4_holdtime }}
{%             endif -%}
{%             if ldp.export is defined -%}
{%                 if ldp.export.ipv4.explicit_null is defined -%}
label local advertise explicit-null
{%                 endif -%}
{%             endif -%}
{%             if ldp.targeted_neighbor is defined -%}
{%                 if ldp.targeted_neighbor.ipv4.enable is defined -%}
discovery targeted-hello accept
{%                 endif -%}
{%                 if ldp.targeted_neighbor.ipv4.hello_holdtime is defined -%}
discovery targeted-hello holdtime {{ ldp.targeted_neighbor.ipv4.hello_holdtime }}
{%                 endif -%}
{%                 if ldp.targeted_neighbor.ipv4.hello_interval is defined -%}
discovery targeted-hello interval {{ ldp.targeted_neighbor.ipv4.hello_interval }}
{%                 endif -%}
{%                 for addresses in ldp.targeted_neighbor.ipv4.address -%}
neighbor {{addresses}} targeted
{%                 endfor -%}
{%             endif -%}
{%             for interfaces in ldp.interface -%}
interface {{interfaces}}
{%             endfor -%}
exit-address-family
{%         else -%}
no address-family ipv4
{%         endif -%}
{%     endif -%}
!
{%     if ldp.discovery is defined -%}
{%         if ldp.discovery.transport_ipv6_address is defined -%}
address-family ipv6
label local allocate host-routes
{%             if ldp.discovery.transport_ipv6_address is defined -%}
discovery transport-address {{ ldp.discovery.transport_ipv6_address }}
{%             endif -%}
{%             if ldp.discovery.hello_ipv6_holdtime is defined -%}
discovery hello holdtime {{ ldp.discovery.hello_ipv6_holdtime }}
{%             endif -%}
{%             if ldp.discovery.hello_ipv6_interval is defined -%}
discovery hello interval {{ ldp.discovery.hello_ipv6_interval }}
{%             endif -%}
{%             if ldp.discovery.session_ipv6_holdtime is defined -%}
session holdtime {{ ldp.discovery.session_ipv6_holdtime }}
{%             endif -%}
{%             if ldp.export is defined -%}
{%                 if ldp.export.ipv6.explicit_null is defined -%}
label local advertise explicit-null
{%                 endif -%}
{%             endif -%}
{%             if ldp.targeted_neighbor is defined -%}
{%                 if ldp.targeted_neighbor.ipv6.enable is defined -%}
discovery targeted-hello accept
{%                 endif -%}
{%                 if ldp.targeted_neighbor.ipv6.hello_holdtime is defined -%}
discovery targeted-hello holdtime {{ ldp.targeted_neighbor.ipv6.hello_holdtime }}
{%                 endif -%}
{%                 if ldp.targeted_neighbor.ipv6.hello_interval is defined -%}
discovery targeted-hello interval {{ ldp.targeted_neighbor.ipv6.hello_interval }}
{%                 endif -%}
{%                 for addresses in ldp.targeted_neighbor.ipv6.address -%}
neighbor {{addresses}} targeted
{%                 endfor -%}
{%             endif -%}
{%             for interfaces in ldp.interface -%}
interface {{interfaces}}
{%             endfor -%}
exit-address-family
{%         else -%}
no address-family ipv6
{%         endif -%}
{%     endif -%}
{% endif -%}