summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Breunig <christian@breunig.cc>2023-11-13 22:19:01 +0100
committerChristian Breunig <christian@breunig.cc>2023-11-15 20:23:49 +0100
commitc139f40e51c855a701e307067809fc91e21cdd65 (patch)
tree91a42c99b5cadd16c34dff57a532b6d523b7f8c8
parentce21078a983552db3f36ee95ca6bc55dd15fa170 (diff)
downloadvyos-1x-c139f40e51c855a701e307067809fc91e21cdd65.tar.gz
vyos-1x-c139f40e51c855a701e307067809fc91e21cdd65.zip
igmp: T5736: support per interface "disable" CLI node
(cherry picked from commit 6ce2ecb10884a4b79a7643e22596a2d03d805a91)
-rw-r--r--data/templates/frr/pimd.frr.j232
-rw-r--r--interface-definitions/protocols-pim.xml.in1
2 files changed, 17 insertions, 16 deletions
diff --git a/data/templates/frr/pimd.frr.j2 b/data/templates/frr/pimd.frr.j2
index b01fb5ec7..68edf4a5c 100644
--- a/data/templates/frr/pimd.frr.j2
+++ b/data/templates/frr/pimd.frr.j2
@@ -24,28 +24,28 @@ interface {{ iface }}
{% if iface_config.source_address is vyos_defined %}
ip pim use-source {{ iface_config.source_address }}
{% endif %}
-{% if iface_config.igmp is vyos_defined %}
+{% if iface_config.igmp is vyos_defined and iface_config.igmp.disable is not vyos_defined %}
ip igmp
-{% endif %}
-{% if iface_config.igmp.query_interval %}
+{% if iface_config.igmp.query_interval %}
ip igmp query-interval {{ iface_config.igmp.query_interval }}
-{% endif %}
-{% if iface_config.igmp.query_max_response_time %}
+{% 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 %}
+{% 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 %}
+{% 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 %}
+{% endfor %}
+{% else %}
ip igmp join {{ join }}
-{% endif %}
-{% endfor %}
+{% endif %}
+{% endfor %}
+{% endif %}
{% endif %}
exit
{% endfor %}
diff --git a/interface-definitions/protocols-pim.xml.in b/interface-definitions/protocols-pim.xml.in
index bbdb00cae..39188398b 100644
--- a/interface-definitions/protocols-pim.xml.in
+++ b/interface-definitions/protocols-pim.xml.in
@@ -31,6 +31,7 @@
<help>Internet Group Management Protocol (IGMP) options</help>
</properties>
<children>
+ #include <include/generic-disable-node.xml.i>
<tagNode name="join">
<properties>
<help>IGMP join multicast group</help>