summaryrefslogtreecommitdiff
path: root/data/templates/router-advert/radvd.conf.j2
blob: 97180d1646700ffdd51011bfd3c829151e6d0e1f (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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
### 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.source_address is vyos_defined %}
    AdvRASrcAddress {
{%             for source_address in iface_config.source_address %}
        {{ source_address }};
{%             endfor %}
    };
{%         endif %}
{%         if iface_config.nat64prefix is vyos_defined %}
{%             for nat64prefix, nat64prefix_options in iface_config.nat64prefix.items() %}
    nat64prefix {{ nat64prefix }} {
        AdvValidLifetime {{ nat64prefix_options.valid_lifetime }};
    };
{%             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 }};
        DeprecatePrefix {{ 'on' if prefix_options.deprecate_prefix is vyos_defined else 'off' }};
        DecrementLifetimes {{ 'on' if prefix_options.decrement_lifetime is vyos_defined else 'off' }};
    };
{%             endfor %}
{%         endif %}
{%         if iface_config.name_server is vyos_defined %}
    RDNSS {{ iface_config.name_server | join(" ") }} {
{%             if iface_config.name_server_lifetime is vyos_defined %}
        AdvRDNSSLifetime {{ iface_config.name_server_lifetime }};
{%             endif %}
    };
{%         endif %}
{%         if iface_config.dnssl is vyos_defined %}
    DNSSL {{ iface_config.dnssl | join(" ") }} {
    };
{%         endif %}
};
{%     endfor %}
{% endif %}