summary refs log tree commit diff
path: root/pkgs/os-specific/linux/trelay/default.nix
diff options
context:
space:
mode:
authorApril John <waterdev@galaxycrow.de>2023-07-15 19:15:38 +0200
committerYureka <yuka@yuka.dev>2023-07-16 21:13:31 +0200
commit6cee3b5893090b0f5f0a06b4cf42ca4e60e5d222 (patch)
treedb54ec2c1829a1376b05a43cb0c106c3d1a671c3 /pkgs/os-specific/linux/trelay/default.nix
parentb50bd0f6fa5754027d5a97caa8b4b5019f74e0d8 (diff)
downloadnixpkgs-6cee3b5893090b0f5f0a06b4cf42ca4e60e5d222.tar
nixpkgs-6cee3b5893090b0f5f0a06b4cf42ca4e60e5d222.tar.gz
nixpkgs-6cee3b5893090b0f5f0a06b4cf42ca4e60e5d222.tar.bz2
nixpkgs-6cee3b5893090b0f5f0a06b4cf42ca4e60e5d222.tar.lz
nixpkgs-6cee3b5893090b0f5f0a06b4cf42ca4e60e5d222.tar.xz
nixpkgs-6cee3b5893090b0f5f0a06b4cf42ca4e60e5d222.tar.zst
nixpkgs-6cee3b5893090b0f5f0a06b4cf42ca4e60e5d222.zip
linuxPackages.trelay: init at 22.03.5
Co-authored-by: Yaya <github@uwu.is>
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
Co-authored-by: Yureka <yuka@yuka.dev>
Diffstat (limited to 'pkgs/os-specific/linux/trelay/default.nix')
-rw-r--r--pkgs/os-specific/linux/trelay/default.nix46
1 files changed, 46 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/trelay/default.nix b/pkgs/os-specific/linux/trelay/default.nix
new file mode 100644
index 00000000000..48148a0b1a0
--- /dev/null
+++ b/pkgs/os-specific/linux/trelay/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, lib, fetchgit, kernel, kmod }:
+let
+  version = "22.03.5";
+in
+stdenv.mkDerivation {
+  pname = "trelay";
+  version = "${version}-${kernel.version}";
+
+  src = fetchgit {
+    url = "https://git.openwrt.org/openwrt/openwrt.git";
+    rev = "v${version}";
+    hash = "sha256-5f9LvaZUxtfTpTR268QMkEmHUpn/nct+MVa44SBGT5c=";
+    sparseCheckout = [ "package/kernel/trelay/src" ];
+  };
+
+  sourceRoot = "openwrt/package/kernel/trelay/src";
+  hardeningDisable = [ "pic" "format" ];
+  nativeBuildInputs = [ kmod ] ++ kernel.moduleBuildDependencies;
+
+  postPatch = ''
+    cp '${./Makefile}' Makefile
+  '';
+
+  makeFlags = kernel.makeFlags ++ [
+    "KERNELRELEASE=${kernel.modDirVersion}"
+    "KERNEL_DIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
+    "INSTALL_MOD_PATH=$(out)"
+  ];
+
+  meta = with lib; {
+    description = "For relaying IP packets between two devices to build a IP bridge between them";
+    longDescription = ''
+      A kernel module that relays ethernet packets between two devices (similar to a bridge),
+      but without any MAC address checks.
+
+      This makes it possible to bridge client mode or ad-hoc mode wifi devices to ethernet VLANs,
+      assuming the remote end uses the same source MAC address as the device that packets are
+      supposed to exit from.
+    '';
+    homepage = "https://github.com/openwrt/openwrt/tree/main/package/kernel/trelay";
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.aprl ];
+    platforms = platforms.linux;
+    broken = lib.versionOlder kernel.version "5.10";
+  };
+}