summaryrefslogtreecommitdiff
path: root/data/templates/frr/igmp.frr.j2
blob: ce1f8fdda742da06e5dbffd9239527ce86d9a3b7 (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
!
{% for iface in old_ifaces %}
interface {{ iface }}
{%     for group in old_ifaces[iface].gr_join %}
{%         if old_ifaces[iface].gr_join[group] %}
{%             for source in old_ifaces[iface].gr_join[group] %}
 no ip igmp join {{ group }} {{ source }}
{%             endfor %}
{%         else %}
 no ip igmp join {{ group }}
{%         endif %}
{%     endfor %}
 no ip igmp
!
{% endfor %}
{% for interface, interface_config in ifaces.items() %}
interface {{ interface }}
{%     if interface_config.version %}
 ip igmp version {{ interface_config.version }}
{%     else %}
{# IGMP default version 3 #}
 ip igmp
{%     endif %}
{%     if interface_config.query_interval %}
 ip igmp query-interval {{ interface_config.query_interval }}
{%     endif %}
{%     if interface_config.query_max_resp_time %}
 ip igmp query-max-response-time {{ interface_config.query_max_resp_time }}
{%     endif %}
{%     for group in interface_config.gr_join %}
{%         if ifaces[iface].gr_join[group] %}
{%             for source in ifaces[iface].gr_join[group] %}
 ip igmp join {{ group }} {{ source }}
{%             endfor %}
{%         else %}
 ip igmp join {{ group }}
{%         endif %}
{%     endfor %}
!
{% endfor %}
!