summaryrefslogtreecommitdiff
path: root/data/templates/frr/ospf6d.frr.tmpl
blob: a8c53738f532c0f0af1d0e2a9d7e0458a7ae5962 (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
!
{% if interface is defined and interface is not none %}
{%   for iface, iface_config in interface.items() %}
interface {{ iface }}
{%     if iface_config.cost is defined and iface_config.cost is not none %}
 ipv6 ospf6 cost {{ iface_config.cost }}
{%     endif %}
{%     if iface_config.priority is defined and iface_config.priority is not none %}
 ipv6 ospf6 priority {{ iface_config.priority }}
{%     endif %}
{%     if iface_config.hello_interval is defined and iface_config.hello_interval is not none %}
 ipv6 ospf6 hello-interval {{ iface_config.hello_interval }}
{%     endif %}
{%     if iface_config.retransmit_interval is defined and iface_config.retransmit_interval is not none %}
 ipv6 ospf6 retransmit-interval {{ iface_config.retransmit_interval }}
{%     endif %}
{%     if iface_config.transmit_delay is defined and iface_config.transmit_delay is not none %}
 ipv6 ospf6 transmit-delay {{ iface_config.transmit_delay }}
{%     endif %}
{%     if iface_config.dead_interval is defined and iface_config.dead_interval is not none %}
 ipv6 ospf6 dead-interval {{ iface_config.dead_interval }}
{%     endif %}
{%     if iface_config.bfd is defined %}
 ipv6 ospf6 bfd
{%     endif %}
{%     if iface_config.mtu_ignore is defined %}
 ipv6 ospf6 mtu-ignore
{%     endif %}
{%     if iface_config.ifmtu is defined and iface_config.ifmtu is not none %}
 ipv6 ospf6 ifmtu {{ iface_config.ifmtu }}
{%     endif %}
{%     if iface_config.network is defined and iface_config.network is not none %}
 ipv6 ospf6 network {{ iface_config.network }}
{%     endif %}
{%     if iface_config.instance_id is defined and iface_config.instance_id is not none %}
 ipv6 ospf6 instance-id {{ iface_config.instance_id }}
{%     endif %}
{%     if iface_config.passive is defined %}
 ipv6 ospf6 passive
{%     endif %}
!
{%   endfor %}
{% endif %}
!
router ospf6
{% if area is defined and area is not none %}
{%   for area_id, area_config in area.items() %}
{%     if area_config.interface is defined and area_config.interface is not none %}
{%       for interface in area_config.interface %}
 interface {{ interface }} area {{ area_id }}
{%       endfor %}
{%     endif %}
{%     if area_config.area_type is defined and area_config.area_type is not none %}
{%       for type, type_config in area_config.area_type.items() %}
 area {{ area_id }} {{ type }} {{ 'no-summary' if type_config.no_summary is defined }}
{%       endfor %}
{%     endif %}
{%     if area_config.range is defined and area_config.range is not none %}
{%       for prefix, prefix_config in area_config.range.items() %}
 area {{ area_id }} range {{ prefix }} {{ 'advertise' if prefix_config.advertise is defined }} {{ 'not-advertise' if prefix_config.not_advertise is defined }}
{%       endfor %}
{%     endif %}
{%     if area_config.export_list is defined and area_config.export_list is not none %}
 area {{ area_id }} export-list {{ area_config.export_list }}
{%     endif %}
{%     if area_config.import_list is defined and area_config.import_list is not none %}
 area {{ area_id }} import-list {{ area_config.import_list }}
{%     endif %}
{%   endfor %}
{% endif %}
{% if distance is defined and distance is not none %}
{%   if distance.global is defined and distance.global is not none %}
 distance {{ distance.global }}
{%   endif %}
{%   if distance.ospfv3 is defined and distance.ospfv3 is not none %}
 distance ospf6 {{ 'intra-area ' + distance.ospfv3.intra_area if distance.ospfv3.intra_area is defined }} {{ 'inter-area ' + distance.ospfv3.inter_area if distance.ospfv3.inter_area is defined }} {{ 'external ' + distance.ospfv3.external if distance.ospfv3.external is defined }}
{%   endif %}
{% endif %}
{% if log_adjacency_changes is defined %}
 log-adjacency-changes {{ "detail" if log_adjacency_changes.detail is defined }}
{% endif %}
{% if parameters is defined and parameters is not none %}
{%   if parameters.router_id is defined and parameters.router_id is not none %}
 ospf6 router-id {{ parameters.router_id }}
{%   endif %}
{% endif %}
{% if redistribute is defined and redistribute is not none %}
{%   for protocol, options in redistribute.items() %}
 redistribute {{ protocol }} {{ 'route-map ' + options.route_map if options.route_map is defined }}
{%   endfor %}
{% endif %}
!