summaryrefslogtreecommitdiff
path: root/data/templates/router-advert/radvd.conf.tmpl
blob: b40ba1ee04c5bae4d4f9f94d2a06c923c19ff682 (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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
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 %}