diff --git a/meta-oe/recipes-connectivity/pcapplusplus/pcapplusplus_21.11.bb b/meta-oe/recipes-connectivity/pcapplusplus/pcapplusplus_21.11.bb
new file mode 100644
index 000000000000..0d2f83cf4af7
--- /dev/null
+++ b/meta-oe/recipes-connectivity/pcapplusplus/pcapplusplus_21.11.bb
@@ -0,0 +1,40 @@
+SUMMARY = "A multiplatform C++ library for capturing, parsing and crafting of network packets"
+HOMEPAGE = "https://pcapplusplus.github.io/"
+BUGTRACKER = "https://github.com/seladb/PcapPlusPlus/issues"
+SECTION = "libs/network"
+LICENSE = "Unlicense"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=911690f51af322440237a253d695d19f"
+
+DEPENDS = "libpcap"
+
+SRC_URI = "git://github.com/seladb/PcapPlusPlus.git;protocol=https;branch=master"
+SRCREV = "ddce58723a4ef7ab19bf1507e6323990b4d2d15e"
+
+S = "${WORKDIR}/git"
+
+EXTRA_CONF:libc-musl += "--musl"
+# PcapPlusPlus uses a custom shell script for configuration
+do_configure () {
+    # must use the --default switch only if no other switches are set
+    mkdir -p "${D}${prefix}"
+    ./configure-linux.sh --install-dir "${D}${prefix}" ${EXTRA_CONF}
+}
+
+do_compile () {
+    # build only libs
+    oe_runmake libs
+}
+
+do_install () {
+    # install script uses PKG_CONFIG_PATH as destination path for .pc files
+    export PKG_CONFIG_PATH="${D}${libdir}/pkgconfig"
+    oe_runmake install
+    # remove example makefile
+    rm -rf "${D}${prefix}/etc"
+    # remove ${D} in .pc file
+    sed -i "s@${D}@@g" ${D}${libdir}/pkgconfig/*.pc
+    chown -R root:root ${D}${libdir}/pkgconfig/*.pc
+}
+
+# main package is empty
+RDEPENDS:${PN}-dev = ""
