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 | |||
