lldpd: init at 0.9.7

wip/yesman
Franz Pletz 7 years ago
parent 458895db33
commit b411968774
No known key found for this signature in database
GPG Key ID: 846FDED7792617B4
  1. 1
      nixos/modules/module-list.nix
  2. 43
      nixos/modules/services/networking/lldpd.nix
  3. 33
      pkgs/tools/networking/lldpd/default.nix
  4. 2
      pkgs/top-level/all-packages.nix

@ -435,6 +435,7 @@
./services/networking/kresd.nix
./services/networking/lambdabot.nix
./services/networking/libreswan.nix
./services/networking/lldpd.nix
./services/networking/logmein-hamachi.nix
./services/networking/mailpile.nix
./services/networking/mfi.nix

@ -0,0 +1,43 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.lldpd;
in
{
options.services.lldpd = {
enable = mkEnableOption "Link Layer Discovery Protocol Daemon";
extraArgs = mkOption {
type = types.listOf types.str;
default = [];
example = [ "-c" "-k" "-I eth0" ];
description = "List of command line parameters for lldpd";
};
};
config = mkIf cfg.enable {
users.extraUsers._lldpd = {
description = "lldpd user";
group = "_lldpd";
home = "/var/run/lldpd";
};
users.extraGroups._lldpd = {};
environment.systemPackages = [ pkgs.lldpd ];
systemd.services.lldpd = {
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
requires = [ "network.target" ];
serviceConfig = {
ExecStart = "${pkgs.lldpd}/bin/lldpd -d ${concatStringsSep " " cfg.extraArgs}";
PrivateTmp = true;
PrivateDevices = true;
};
};
};
}

@ -0,0 +1,33 @@
{ stdenv, lib, fetchurl, pkgconfig
, libevent, readline, net_snmp }:
stdenv.mkDerivation rec {
name = "lldpd-${version}";
version = "0.9.7";
src = fetchurl {
url = "https://media.luffy.cx/files/lldpd/${name}.tar.gz";
sha256 = "1f0d5s4643pjmgycc5ssgl1pggyq5a7navhabkyhcg0aqdah6dmr";
};
configureFlags = [
"--localstatedir=/var"
"--enable-pie"
"--with-snmp"
];
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ libevent readline net_snmp ];
enableParallelBuilding = true;
outputs = [ "out" "dev" "man" "doc" ];
meta = with lib; {
description = "802.1ab implementation (LLDP) to help you locate neighbors of all your equipments";
homepage = "https://vincentbernat.github.io/lldpd/";
license = licenses.isc;
maintainers = with maintainers; [ fpletz ];
platforms = platforms.linux;
};
}

@ -2645,6 +2645,8 @@ with pkgs;
lksctp-tools = callPackage ../os-specific/linux/lksctp-tools { };
lldpd = callPackage ../tools/networking/lldpd { };
lnav = callPackage ../tools/misc/lnav { };
loc = callPackage ../development/misc/loc { };

Loading…
Cancel
Save