summaryrefslogtreecommitdiff
path: root/config/networking/services/igmpproxy.nix
blob: 3d7fb9ced58c1b850929b023029423a1b2d6786a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{ config, pkgs, ... }:

let nets = config.personal.networking.networks;
    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 = [ "network.target" ];
    path = [ pkgs.igmpproxy ];
    script = "igmpproxy -vv -n ${conf}";
  };
}