From 179ed822514b7f6afdd8a24bc84a2754e2c7d77c Mon Sep 17 00:00:00 2001 From: Bruce Ashfield Date: Tue, 4 Jun 2024 02:59:22 +0000 Subject: 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 --- recipes-networking/passt/passt_git.bb | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 recipes-networking/passt/passt_git.bb 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 @@ +SUMMARY = "User-mode networking daemons for virtual machines and namespaces" +LICENSE = "GPL-2.0-or-later & BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSES/GPL-2.0-or-later.txt;md5=3d26203303a722dedc6bf909d95ba815 \ + file://LICENSES/BSD-3-Clause.txt;md5=c6c623ff088c13278097b9f79637ca77" + +DEPENDS += "coreutils-native" + +EXTRA_OEMAKE += "\ + 'DESTDIR=${D}' \ + 'prefix=${prefix}' \ + 'bindir=${bindir}' \ + 'sharedir=${datadir}' \ + 'sysconfdir=${sysconfdir}' \ + " + +SRC_URI = "git://passt.top/passt;branch=master" + +PV = "2024_05_23+git" +SRCREV = "765eb0bf1651d20ca319eeb8b41ff35f52f2a29c" + +S = "${WORKDIR}/git" + +do_configure () { + : +} + +do_compile () { + oe_runmake +} + +do_install () { + oe_runmake install +} + -- cgit v1.2.3-54-g00ecf