summaryrefslogtreecommitdiff
path: root/data/templates/router-advert/radvd.conf.j2
diff options
context:
space:
mode:
Diffstat (limited to 'data/templates/router-advert/radvd.conf.j2')
-rw-r--r--data/templates/router-advert/radvd.conf.j266
1 files changed, 66 insertions, 0 deletions
diff --git a/data/templates/router-advert/radvd.conf.j2 b/data/templates/router-advert/radvd.conf.j2
new file mode 100644
index 000000000..6902dc05a
--- /dev/null
+++ b/data/templates/router-advert/radvd.conf.j2
@@ -0,0 +1,66 @@
+### Autogenerated by service_router-advert.py ###
+
+{% if interface is vyos_defined %}
+{% for iface, iface_config in interface.items() %}
+interface {{ iface }} {
+ IgnoreIfMissing on;
+{% if iface_config.default_preference is vyos_defined %}
+ AdvDefaultPreference {{ iface_config.default_preference }};
+{% endif %}
+{% if iface_config.managed_flag is vyos_defined %}
+ AdvManagedFlag {{ 'on' if iface_config.managed_flag is vyos_defined else 'off' }};
+{% endif %}
+{% if iface_config.interval.max is vyos_defined %}
+ MaxRtrAdvInterval {{ iface_config.interval.max }};
+{% endif %}
+{% if iface_config.interval.min is vyos_defined %}
+ MinRtrAdvInterval {{ iface_config.interval.min }};
+{% endif %}
+{% if iface_config.reachable_time is vyos_defined %}
+ AdvReachableTime {{ iface_config.reachable_time }};
+{% endif %}
+ AdvIntervalOpt {{ 'off' if iface_config.no_send_advert is vyos_defined else 'on' }};
+ AdvSendAdvert {{ 'off' if iface_config.no_send_advert is vyos_defined else 'on' }};
+{% if iface_config.default_lifetime is vyos_defined %}
+ AdvDefaultLifetime {{ iface_config.default_lifetime }};
+{% endif %}
+{% if iface_config.link_mtu is vyos_defined %}
+ AdvLinkMTU {{ iface_config.link_mtu }};
+{% endif %}
+ AdvOtherConfigFlag {{ 'on' if iface_config.other_config_flag is vyos_defined else 'off' }};
+ AdvRetransTimer {{ iface_config.retrans_timer }};
+ AdvCurHopLimit {{ iface_config.hop_limit }};
+{% if iface_config.route is vyos_defined %}
+{% for route, route_options in iface_config.route.items() %}
+ route {{ route }} {
+{% if route_options.valid_lifetime is vyos_defined %}
+ AdvRouteLifetime {{ route_options.valid_lifetime }};
+{% endif %}
+{% if route_options.route_preference is vyos_defined %}
+ AdvRoutePreference {{ route_options.route_preference }};
+{% endif %}
+ RemoveRoute {{ 'off' if route_options.no_remove_route is vyos_defined else 'on' }};
+ };
+{% endfor %}
+{% endif %}
+{% if iface_config.prefix is vyos_defined %}
+{% for prefix, prefix_options in iface_config.prefix.items() %}
+ prefix {{ prefix }} {
+ AdvAutonomous {{ 'off' if prefix_options.no_autonomous_flag is vyos_defined else 'on' }};
+ AdvValidLifetime {{ prefix_options.valid_lifetime }};
+ AdvOnLink {{ 'off' if prefix_options.no_on_link_flag is vyos_defined else 'on' }};
+ AdvPreferredLifetime {{ prefix_options.preferred_lifetime }};
+ };
+{% endfor %}
+{% endif %}
+{% if iface_config.name_server is vyos_defined %}
+ RDNSS {{ iface_config.name_server | join(" ") }} {
+ };
+{% endif %}
+{% if iface_config.dnssl is vyos_defined %}
+ DNSSL {{ iface_config.dnssl | join(" ") }} {
+ };
+{% endif %}
+};
+{% endfor %}
+{% endif %}