summaryrefslogtreecommitdiff
path: root/data/templates/frr/distribute_list_macro.j2
diff options
context:
space:
mode:
authorYuxiang Zhu <vfreex@gmail.com>2023-01-09 05:48:50 +0000
committerYuxiang Zhu <vfreex@gmail.com>2023-02-08 21:48:15 +0800
commit4bfe801e7e6c59bdb70500b629fd31bb03598d4b (patch)
treefd51141d8fd1c6c112c7742259f5b97cf88abd17 /data/templates/frr/distribute_list_macro.j2
parent2622902ac76bc1c3356bb722f63e931119f3eb04 (diff)
downloadvyos-1x-4bfe801e7e6c59bdb70500b629fd31bb03598d4b.tar.gz
vyos-1x-4bfe801e7e6c59bdb70500b629fd31bb03598d4b.zip
T4977: Add Babel routing protocol support
This PR adds basic Babel routing protocol support using the implementation in FRR. Signed-off-by: Yuxiang Zhu <vfreex@gmail.com>
Diffstat (limited to 'data/templates/frr/distribute_list_macro.j2')
-rw-r--r--data/templates/frr/distribute_list_macro.j230
1 files changed, 30 insertions, 0 deletions
diff --git a/data/templates/frr/distribute_list_macro.j2 b/data/templates/frr/distribute_list_macro.j2
new file mode 100644
index 000000000..c10bf732d
--- /dev/null
+++ b/data/templates/frr/distribute_list_macro.j2
@@ -0,0 +1,30 @@
+{% macro render_distribute_list(distribute_list) %}
+{% if distribute_list.access_list.in is vyos_defined %}
+ distribute-list {{ distribute_list.access_list.in }} in
+{% endif %}
+{% if distribute_list.access_list.out is vyos_defined %}
+ distribute-list {{ distribute_list.access_list.out }} out
+{% endif %}
+{% if distribute_list.interface is vyos_defined %}
+{% for interface, interface_config in distribute_list.interface.items() %}
+{% if interface_config.access_list.in is vyos_defined %}
+ distribute-list {{ interface_config.access_list.in }} in {{ interface }}
+{% endif %}
+{% if interface_config.access_list.out is vyos_defined %}
+ distribute-list {{ interface_config.access_list.out }} out {{ interface }}
+{% endif %}
+{% if interface_config.prefix_list.in is vyos_defined %}
+ distribute-list prefix {{ interface_config.prefix_list.in }} in {{ interface }}
+{% endif %}
+{% if interface_config.prefix_list.out is vyos_defined %}
+ distribute-list prefix {{ interface_config.prefix_list.out }} out {{ interface }}
+{% endif %}
+{% endfor %}
+{% endif %}
+{% if distribute_list.prefix_list.in is vyos_defined %}
+ distribute-list prefix {{ distribute_list.prefix_list.in }} in
+{% endif %}
+{% if distribute_list.prefix_list.out is vyos_defined %}
+ distribute-list prefix {{ distribute_list.prefix_list.out }} out
+{% endif %}
+{% endmacro %}