diff options
author | Bruce Ashfield <bruce.ashfield@gmail.com> | 2024-06-04 02:59:22 +0000 |
---|---|---|
committer | Bruce Ashfield <bruce.ashfield@gmail.com> | 2024-06-04 13:03:44 +0000 |
commit | 179ed822514b7f6afdd8a24bc84a2754e2c7d77c (patch) | |
tree | c97914cd949bc6f9fa8d98c93324dff4b557c63e | |
parent | e8214becb94e7bc786bcde59b00a5ee7c4de389e (diff) | |
download | meta-virtualization-179ed822514b7f6afdd8a24bc84a2754e2c7d77c.tar.gz |
networking: introduce passt / pasta
Introducing the pasta package as an alternative for non-priviledged
container networking:
https://passt.top/passt/about/
passt: Plug A Simple Socket Transport
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: Pack A Subtle Tap Abstraction
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.
It also implements a tap bypass path for local connections: packets with a local
destination address are moved directly between Layer-4 sockets, avoiding Layer-2
translations, using the splice(2) and recvmmsg(2)/sendmmsg(2) system calls for
TCP and UDP, respectively.
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
-rw-r--r-- | recipes-networking/passt/passt_git.bb | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/recipes-networking/passt/passt_git.bb b/recipes-networking/passt/passt_git.bb new file mode 100644 index 00000000..654aeea4 --- /dev/null +++ b/recipes-networking/passt/passt_git.bb | |||
@@ -0,0 +1,34 @@ | |||
1 | SUMMARY = "User-mode networking daemons for virtual machines and namespaces" | ||
2 | LICENSE = "GPL-2.0-or-later & BSD-3-Clause" | ||
3 | LIC_FILES_CHKSUM = "file://LICENSES/GPL-2.0-or-later.txt;md5=3d26203303a722dedc6bf909d95ba815 \ | ||
4 | file://LICENSES/BSD-3-Clause.txt;md5=c6c623ff088c13278097b9f79637ca77" | ||
5 | |||
6 | DEPENDS += "coreutils-native" | ||
7 | |||
8 | EXTRA_OEMAKE += "\ | ||
9 | 'DESTDIR=${D}' \ | ||
10 | 'prefix=${prefix}' \ | ||
11 | 'bindir=${bindir}' \ | ||
12 | 'sharedir=${datadir}' \ | ||
13 | 'sysconfdir=${sysconfdir}' \ | ||
14 | " | ||
15 | |||
16 | SRC_URI = "git://passt.top/passt;branch=master" | ||
17 | |||
18 | PV = "2024_05_23+git" | ||
19 | SRCREV = "765eb0bf1651d20ca319eeb8b41ff35f52f2a29c" | ||
20 | |||
21 | S = "${WORKDIR}/git" | ||
22 | |||
23 | do_configure () { | ||
24 | : | ||
25 | } | ||
26 | |||
27 | do_compile () { | ||
28 | oe_runmake | ||
29 | } | ||
30 | |||
31 | do_install () { | ||
32 | oe_runmake install | ||
33 | } | ||
34 | |||