blob: b7a25da1800b67b151947967add452db0d2bb818 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
{ config, pkgs, ... }:
let
nets = config.personal.networking.networks;
netdevServices = builtins.map (subnet: "${subnet.interface}-netdev.service")
(with nets; [ wan iot ]);
conf = pkgs.writeText "igmpproxy.conf" ''
phyint ${nets.wan.interface} upstream
ratelimit 0 threshold 1 phyint ${nets.iot.interface} downstream ratelimit 0
threshold 1 phyint ${nets.lan.interface} downstream ratelimit 0 threshold 1
'';
in {
systemd.services.igmpproxy = {
description = "Multicast router utilizing IGMP forwarding";
wantedBy = [ "multi-user.target" ];
after = [ "kea-dhcp4-server.service" ] ++ netdevServices;
bindsTo = netdevServices;
path = [ pkgs.igmpproxy ];
script = "igmpproxy -v -n ${conf}";
};
}
|