Skip to content

Commit

Permalink
passt: init at 2023-10-04
Browse files Browse the repository at this point in the history
Add passt, a userspace network stack that can be use to provide unprivileged
network access for virtual machines (using 'passt') or containers (using
'pasta'). See https://passt.top/passt/about/
  • Loading branch information
8aed committed Nov 5, 2023
1 parent 89a429c commit c8e2dab
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 0 deletions.
6 changes: 6 additions & 0 deletions maintainers/maintainer-list.nix
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,12 @@
githubId = 12578560;
name = "Quinn Bohner";
};
_8aed = {
email = "8aed@riseup.net";
github = "8aed";
githubId = 140662578;
name = "Huit Aed";
};
_8-bit-fox = {
email = "sebastian@markwaerter.de";
github = "8-bit-fox";
Expand Down
37 changes: 37 additions & 0 deletions pkgs/os-specific/linux/passt/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
{ stdenv, lib, pkg-config }:

stdenv.mkDerivation rec {
pname = "passt";
version = "0.2023_10_04";
src = builtins.fetchGit {
url = "https://passt.top/passt";
rev = "f851084c96e0a932e51c15ad9551e2cd85362147";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [];
installPhase = ''
mkdir -p $out/bin $out/share/man/man1
cp passt pasta qrap $out/bin/
cp passt.1 pasta.1 qrap.1 $out/share/man/man1/
'' + (lib.optionalString (stdenv.targetPlatform == "x86_64") ''
cp passt.avx2 pasta.avx2 $out/bin/
'');
meta = with lib; {
homepage = "https://passt.top/passt/about/";
description = ''
passt implements a translation layer between a Layer-2 network interface
and native Layer-4 sockets (TCP, UDP, ICMP/ICMPv6 echo) on a host.
It doesn't require any capabilities or privileges, and it can be used as
a simple replacement for Slirp.
pasta (same binary as passt, different command) offers equivalent
functionality, for network namespaces: traffic is forwarded using a tap
interface inside the namespace, without the need to create further
interfaces on the host, hence not requiring any capabilities or
privileges.
'';
license = lib.licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ 8aed ];
};
}

0 comments on commit c8e2dab

Please sign in to comment.