diff options
author | Tomas Volf <~@wolfsden.cz> | 2024-02-16 22:14:26 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2024-03-02 17:18:17 +0100 |
commit | 61694dc1cd8888adab34841171fc098d9d206dfe (patch) | |
tree | 429d6a530343ed482933fd0decf372542f2bfdb8 /gnu | |
parent | a8d214d3ccebe3cf3b419ea152fccdb09d149b5e (diff) | |
download | guix-61694dc1cd8888adab34841171fc098d9d206dfe.tar.gz guix-61694dc1cd8888adab34841171fc098d9d206dfe.zip |
gnu: Add passt.
* gnu/packages/containers.scm (passt): New variable.
Change-Id: I2ebdd9d4255a89a86fb196568215b74bb61cb3a6
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/packages/containers.scm | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/gnu/packages/containers.scm b/gnu/packages/containers.scm index 2b5acdc3bc..5b79e8a446 100644 --- a/gnu/packages/containers.scm +++ b/gnu/packages/containers.scm @@ -248,6 +248,46 @@ containers or various tools.") network namespaces.") (license license:gpl2+))) +(define-public passt + (package + (name "passt") + (version "2023_12_30.f091893") + (source + (origin + (method url-fetch) + (uri (string-append "https://passt.top/passt/snapshot/passt-" version + ".tar.gz")) + (sha256 + (base32 "1nyd4h93qlxn1r01ffijpsd7r7ny62phki5j58in8gz021jj4f3d")))) + (build-system gnu-build-system) + (arguments + (list + #:make-flags + #~(list (string-append "CC=" #$(cc-for-target)) + "RLIMIT_STACK_VAL=1024" ; ¯\_ (ツ)_/¯ + (string-append "VERSION=" #$version) + (string-append "prefix=" #$output)) + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (delete 'configure)))) + (home-page "https://passt.top") + (synopsis "Plug A Simple Socket Transport") + (description + "passt implements a thin layer between guest and host, that only +implements what's strictly needed to pretend processes are running locally. +The TCP adaptation doesn't keep per-connection packet buffers, and reflects +observed sending windows and acknowledgements between the two sides. This TCP +adaptation is needed as passt runs without the CAP_NET_RAW capability: it +can't create raw IP sockets on the pod, and therefore needs to map packets at +Layer-2 to Layer-4 sockets offered by the host kernel. + +Also provides pasta, which similarly to slirp4netns, provides networking to +containers by creating a tap interface available to processes in the +namespace, and mapping network traffic outside the namespace using native +Layer-4 sockets.") + (license (list license:gpl2+ license:bsd-3)))) + (define-public cni-plugins (package (name "cni-plugins") |