<%
    from ipaddress import ip_network
%>\
[Match]
Name=${interface}

% for addr in sorted(config.get('ips', set())):
[Address]
<%
    if '/' in addr:
        ip, prefix = addr.split('/')
    else:
        ip = addr
        prefix = '32'
%>\
Address=${ip}/${prefix}

% endfor
% for route in config.get('routes', {}):
[Route]
Gateway=${route['via']}
Destination=${route['to']}
GatewayOnlink=yes

% endfor
% if 'gateway4' in config:
[Route]
Gateway=${config['gateway4']}
GatewayOnlink=yes

% endif
% if 'gateway6' in config:
[Route]
Gateway=${config['gateway6']}
GatewayOnlink=yes

% endif
[Network]
DHCP=no
IPv6AcceptRA=no

% if config.get('forwarding', False):
IPForward=yes
%endif

% for vlan in sorted(config.get('vlans', set())):
VLAN=${interface}.${vlan}
% endfor