summaryrefslogtreecommitdiff
path: root/data/templates/frr/pimd.frr.j2
diff options
context:
space:
mode:
authorChristian Breunig <christian@breunig.cc>2023-11-13 12:54:25 +0100
committerChristian Breunig <christian@breunig.cc>2023-11-15 20:23:49 +0100
commit383231dae8c01ea58d0c956688ecd87f739be97e (patch)
tree676648c7478be7f1cd0331576b5c8fac519fca53 /data/templates/frr/pimd.frr.j2
parent46bb847933c8352345b27d1402601a8cc931e2cc (diff)
downloadvyos-1x-383231dae8c01ea58d0c956688ecd87f739be97e.tar.gz
vyos-1x-383231dae8c01ea58d0c956688ecd87f739be97e.zip
igmp: T5736: migrate "protocols igmp" to "protocols pim"
IGMP and PIM are two different but related things. FRR has both combined in pimd. As we use get_config_dict() and FRR reload it is better to have both centrally stored under the same CLI node (as FRR does, too) to just "fire and forget" the commit to the daemon. "set protocols igmp interface eth1" -> "set protocols pim interface eth1 igmp" (cherry picked from commit bc83fb097719f5c4c803808572f690fbc367b9e5)
Diffstat (limited to 'data/templates/frr/pimd.frr.j2')
-rw-r--r--data/templates/frr/pimd.frr.j217
1 files changed, 17 insertions, 0 deletions
diff --git a/data/templates/frr/pimd.frr.j2 b/data/templates/frr/pimd.frr.j2
index 7d6ddf8d4..97c5ff58b 100644
--- a/data/templates/frr/pimd.frr.j2
+++ b/data/templates/frr/pimd.frr.j2
@@ -27,9 +27,26 @@ interface {{ iface }}
{% if iface_config.igmp is vyos_defined %}
ip igmp
{% endif %}
+{% if iface_config.igmp.query_interval %}
+ ip igmp query-interval {{ iface_config.igmp.query_interval }}
+{% endif %}
+{% if iface_config.igmp.query_max_response_time %}
+ ip igmp query-max-response-time {{ iface_config.igmp.query_max_response_time }}
+{% endif %}
{% if iface_config.igmp.version is vyos_defined %}
ip igmp version {{ iface_config.igmp.version }}
{% endif %}
+{% if iface_config.igmp.join is vyos_defined %}
+{% for join, join_config in iface_config.igmp.join.items() %}
+{% if join_config.source_address is vyos_defined %}
+{% for source_address in join_config.source_address %}
+ ip igmp join {{ join }} {{ source_address }}
+{% endfor %}
+{% else %}
+ ip igmp join {{ join }}
+{% endif %}
+{% endfor %}
+{% endif %}
exit
{% endfor %}
{% endif %}