mirror of
https://github.com/Heleguo/lede.git
synced 2025-12-16 10:51:12 +00:00
package: sync libs with openwrt-24.10
This commit is contained in:
parent
80467ccd0f
commit
81818f9b19
@ -12,9 +12,9 @@ PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=$(PROJECT_GIT)/project/libnl-tiny.git
|
||||
PKG_SOURCE_DATE:=2023-07-01
|
||||
PKG_SOURCE_VERSION:=d433990c00e804593f253cc709b8fe901492b530
|
||||
PKG_MIRROR_HASH:=fffb2782c7ed2ebabc7d57e5513f52ac53d1828014bc9a8ea131f50eab093086
|
||||
PKG_SOURCE_DATE:=2025-03-19
|
||||
PKG_SOURCE_VERSION:=c0df580adbd4d555ecc1962dbe88e91d75b67a4e
|
||||
PKG_MIRROR_HASH:=e0a723e791549866e2d7e1f2aec2392343186645a2c7eae97e73e9fa72171d96
|
||||
CMAKE_INSTALL:=1
|
||||
|
||||
PKG_LICENSE:=LGPL-2.1
|
||||
@ -27,7 +27,7 @@ define Package/libnl-tiny
|
||||
SECTION:=libs
|
||||
CATEGORY:=Libraries
|
||||
TITLE:=netlink socket library
|
||||
ABI_VERSION:=$(PKG_SOURCE_DATE)
|
||||
ABI_VERSION:=1
|
||||
endef
|
||||
|
||||
define Package/libnl-tiny/description
|
||||
@ -37,13 +37,13 @@ endef
|
||||
define Build/InstallDev
|
||||
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig $(1)/usr/include/libnl-tiny
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/include/libnl-tiny/* $(1)/usr/include/libnl-tiny
|
||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/libnl-tiny.so $(1)/usr/lib/
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libnl-tiny.so* $(1)/usr/lib/
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/libnl-tiny.pc $(1)/usr/lib/pkgconfig
|
||||
endef
|
||||
|
||||
define Package/libnl-tiny/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/libnl-tiny.so $(1)/usr/lib/
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libnl-tiny.so.* $(1)/usr/lib/
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,libnl-tiny))
|
||||
|
||||
@ -6,12 +6,12 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=libnl
|
||||
PKG_VERSION:=3.7.0
|
||||
PKG_VERSION:=3.11.0
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://github.com/thom311/libnl/releases/download/libnl$(subst .,_,$(PKG_VERSION))
|
||||
PKG_HASH:=9fe43ccbeeea72c653bdcf8c93332583135cda46a79507bfd0a483bb57f65939
|
||||
PKG_HASH:=2a56e1edefa3e68a7c00879496736fdbf62fc94ed3232c0baba127ecfa76874d
|
||||
|
||||
PKG_LICENSE:=LGPL-2.1
|
||||
PKG_LICENSE_FILES:=COPYING
|
||||
@ -20,6 +20,8 @@ PKG_CPE_ID:=cpe:/a:libnl_project:libnl
|
||||
PKG_INSTALL:=1
|
||||
PKG_FIXUP:=autoreconf
|
||||
|
||||
PKG_BUILD_FLAGS:=gc-sections
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/libnl/default
|
||||
@ -53,10 +55,16 @@ $(call Package/libnl/default)
|
||||
DEPENDS:=+libnl-route
|
||||
endef
|
||||
|
||||
define Package/libnl-cli
|
||||
$(call Package/libnl/default)
|
||||
TITLE:=CLI Netlink Library
|
||||
DEPENDS:=+libnl-genl +libnl-nf
|
||||
endef
|
||||
|
||||
define Package/libnl
|
||||
$(call Package/libnl/default)
|
||||
TITLE:=Full Netlink Library
|
||||
DEPENDS:=+libnl-genl +libnl-route +libnl-nf
|
||||
DEPENDS:=+libnl-genl +libnl-route +libnl-nf +libnl-cli
|
||||
endef
|
||||
|
||||
define Package/libnl-core/description
|
||||
@ -75,12 +83,16 @@ define Package/libnl-nf/description
|
||||
Netfilter Netlink Library Functions
|
||||
endef
|
||||
|
||||
define Package/libnl-cli/description
|
||||
CLI Netlink Library Functions
|
||||
endef
|
||||
|
||||
define Package/libnl/description
|
||||
Socket handling, connection management, sending and receiving of data,
|
||||
message construction and parsing, object caching system, etc.
|
||||
endef
|
||||
|
||||
TARGET_CFLAGS += -ffunction-sections -fdata-sections $(FPIC)
|
||||
TARGET_CFLAGS += $(FPIC)
|
||||
|
||||
CONFIGURE_ARGS += \
|
||||
--disable-debug
|
||||
@ -96,6 +108,7 @@ define Build/InstallDev
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libnl-genl-3.so $(1)/usr/lib/libnl-genl.so
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libnl-nf-3.so $(1)/usr/lib/libnl-nf.so
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libnl-route-3.so $(1)/usr/lib/libnl-route.so
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libnl-cli-3.so $(1)/usr/lib/libnl-cli.so
|
||||
endef
|
||||
|
||||
define Package/libnl-core/install
|
||||
@ -118,6 +131,11 @@ define Package/libnl-nf/install
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libnl-nf-3.so.* $(1)/usr/lib/
|
||||
endef
|
||||
|
||||
define Package/libnl-cli/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libnl-cli-3.so.* $(1)/usr/lib/
|
||||
endef
|
||||
|
||||
define Package/libnl/install
|
||||
:
|
||||
endef
|
||||
@ -126,4 +144,5 @@ $(eval $(call BuildPackage,libnl-core))
|
||||
$(eval $(call BuildPackage,libnl-genl))
|
||||
$(eval $(call BuildPackage,libnl-route))
|
||||
$(eval $(call BuildPackage,libnl-nf))
|
||||
$(eval $(call BuildPackage,libnl-cli))
|
||||
$(eval $(call BuildPackage,libnl))
|
||||
|
||||
@ -5,9 +5,9 @@ PKG_RELEASE=1
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=$(PROJECT_GIT)/project/uclient.git
|
||||
PKG_MIRROR_HASH:=7c443cac02a734dd312c65618f4de17248d188317f30a9fac192c1503b3d5c05
|
||||
PKG_SOURCE_DATE:=2021-05-14
|
||||
PKG_SOURCE_VERSION:=6a6011df3429ffa5958d12b1327eeda4fd9daa47
|
||||
PKG_MIRROR_HASH:=339b58bd6d6f4b56bb5b0d41c9b47fdad6a7211a2a2eb264a62de3e07fcedfad
|
||||
PKG_SOURCE_DATE:=2024-10-22
|
||||
PKG_SOURCE_VERSION:=88ae8f208dd313f69e268234f7db55956aef1cb9
|
||||
CMAKE_INSTALL:=1
|
||||
|
||||
PKG_BUILD_DEPENDS:=ustream-ssl
|
||||
@ -16,6 +16,7 @@ PKG_LICENSE:=ISC
|
||||
PKG_LICENSE_FILES:=
|
||||
|
||||
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
|
||||
PKG_CONFIG_DEPENDS := CONFIG_PACKAGE_ucode-mod-uclient
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/cmake.mk
|
||||
@ -37,6 +38,16 @@ define Package/uclient-fetch
|
||||
DEPENDS:=+libuclient
|
||||
endef
|
||||
|
||||
define Package/ucode-mod-uclient
|
||||
SECTION:=utils
|
||||
CATEGORY:=Utilities
|
||||
TITLE:=ucode uclient module
|
||||
DEPENDS:=+libucode +libuclient
|
||||
endef
|
||||
|
||||
CMAKE_OPTIONS += \
|
||||
-DBUILD_UCODE=$(if $(CONFIG_PACKAGE_ucode-mod-uclient),ON,OFF)
|
||||
|
||||
define Package/libuclient/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/libuclient.so $(1)/usr/lib/
|
||||
@ -47,5 +58,11 @@ define Package/uclient-fetch/install
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/uclient-fetch $(1)/bin/
|
||||
endef
|
||||
|
||||
define Package/ucode-mod-uclient/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/ucode
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/ucode/*.so $(1)/usr/lib/ucode
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,libuclient))
|
||||
$(eval $(call BuildPackage,uclient-fetch))
|
||||
$(eval $(call BuildPackage,ucode-mod-uclient))
|
||||
|
||||
@ -11,9 +11,9 @@ PKG_NAME:=udebug
|
||||
CMAKE_INSTALL:=1
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=$(PROJECT_GIT)/project/udebug.git
|
||||
PKG_MIRROR_HASH:=553a58a14b59dc7b22755557acbc74f0655a431442a4faca56d28cdb1ef14fb4
|
||||
PKG_SOURCE_DATE:=2023-12-06
|
||||
PKG_SOURCE_VERSION:=6d3f51f9fda706f0cf4732c762e4dbe8c21e12cf
|
||||
PKG_MIRROR_HASH:=6a056e6ed77bf0a7af74fcbac9cdd10bbc51868eea054da8a2d18ef1e3c4abca
|
||||
PKG_SOURCE_DATE:=2025-08-24
|
||||
PKG_SOURCE_VERSION:=edeb4d6dc690acb476a47e6b11633b5632b08437
|
||||
PKG_ABI_VERSION:=$(call abi_version_str,$(PKG_SOURCE_DATE))
|
||||
|
||||
PKG_LICENSE:=GPL-2.0
|
||||
@ -51,7 +51,7 @@ define Package/udebug-cli
|
||||
SECTION:=utils
|
||||
CATEGORY:=Utilities
|
||||
TITLE:=OpenWrt debug service CLI
|
||||
DEPENDS:=+udebugd +ucode-mod-udebug
|
||||
DEPENDS:=+udebugd +ucode-mod-udebug +ucode-mod-uloop +ucode-mod-ubus
|
||||
endef
|
||||
|
||||
define Package/libudebug/install
|
||||
|
||||
@ -5,9 +5,9 @@ PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=$(PROJECT_GIT)/project/ustream-ssl.git
|
||||
PKG_SOURCE_DATE:=2022-12-08
|
||||
PKG_SOURCE_VERSION:=9217ab46536353c7c792951b57163063f5ec7a3b
|
||||
PKG_MIRROR_HASH:=cd4dc6a6c18290348b1f8b1c01df3320e4954dc46d714c797bef066f7a91248d
|
||||
PKG_SOURCE_DATE:=2024-07-28
|
||||
PKG_SOURCE_VERSION:=99bd3d2b167ccdffb6de072d02c380cb37b23e33
|
||||
PKG_MIRROR_HASH:=9165ce1b05e7bf5ab2cd8450da30c980f1996c9d3a97c4ed2a573b282467b839
|
||||
CMAKE_INSTALL:=1
|
||||
|
||||
PKG_LICENSE:=ISC
|
||||
|
||||
@ -8,16 +8,19 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=wolfssl
|
||||
PKG_VERSION:=5.5.4-stable
|
||||
PKG_RELEASE:=$(AUTORELEASE)
|
||||
PKG_VERSION:=5.7.6
|
||||
PKG_REAL_VERSION:=$(PKG_VERSION)-stable
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://github.com/wolfSSL/wolfssl/archive/v$(PKG_VERSION)
|
||||
PKG_HASH:=b7ee150e49def77c765bc02aac92ddeb0bebefd4cb12aa263d8f95e405221fb8
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_REAL_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://github.com/wolfSSL/wolfssl/archive/v$(PKG_REAL_VERSION)
|
||||
PKG_HASH:=52b1e439e30d1ed8162a16308a8525a862183b67aa30373b11166ecbab000d63
|
||||
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_REAL_VERSION)
|
||||
|
||||
PKG_FIXUP:=libtool libtool-abiver
|
||||
PKG_INSTALL:=1
|
||||
PKG_USE_MIPS16:=0
|
||||
PKG_BUILD_FLAGS:=no-mips16 lto
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
PKG_LICENSE:=GPL-2.0-or-later
|
||||
PKG_LICENSE_FILES:=LICENSING COPYING
|
||||
@ -40,7 +43,7 @@ PKG_CONFIG_DEPENDS:=\
|
||||
CONFIG_WOLFSSL_HAS_TLSV13 \
|
||||
CONFIG_WOLFSSL_HAS_WPAS
|
||||
|
||||
PKG_ABI_VERSION:=$(patsubst %-stable,%,$(PKG_VERSION)).$(call version_abbrev,$(call confvar,$(PKG_CONFIG_DEPENDS)))
|
||||
PKG_ABI_VERSION:=$(PKG_VERSION).$(call version_abbrev,$(call confvar,$(PKG_CONFIG_DEPENDS)))
|
||||
|
||||
PKG_CONFIG_DEPENDS+=\
|
||||
CONFIG_PACKAGE_libwolfssl-benchmark \
|
||||
@ -51,6 +54,8 @@ PKG_CONFIG_DEPENDS+=\
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
DISABLE_NLS:=
|
||||
|
||||
define Package/libwolfssl/Default
|
||||
SECTION:=libs
|
||||
SUBMENU:=SSL
|
||||
@ -100,8 +105,8 @@ This variant uses AES CPU instructions (Intel AESNI or ARMv8 Crypto Extension)
|
||||
endef
|
||||
|
||||
define Package/libwolfsslcpu-crypto/config
|
||||
if TARGET_armvirt && PACKAGE_libwolfsslcpu-crypto = y
|
||||
comment "You are about to build libwolfsslcpu-crypto into an armvirt_64 image."
|
||||
if TARGET_armsr && PACKAGE_libwolfsslcpu-crypto = y
|
||||
comment "You are about to build libwolfsslcpu-crypto into an armsr_64 image."
|
||||
comment "Ensure all of your installation targets support the Crypto Extension. "
|
||||
comment "Look for the 'aes' feature in /proc/cpuinfo. This library does not do "
|
||||
comment "run-time detection and will crash if the CPU does not support it. "
|
||||
@ -118,12 +123,9 @@ endef
|
||||
TARGET_CFLAGS += \
|
||||
$(FPIC) \
|
||||
-fomit-frame-pointer \
|
||||
-flto \
|
||||
-DFP_MAX_BITS=8192 \
|
||||
$(if $(CONFIG_WOLFSSL_ALT_NAMES),-DWOLFSSL_ALT_NAMES)
|
||||
|
||||
TARGET_LDFLAGS += -flto
|
||||
|
||||
# --enable-stunnel needed for OpenSSL API compatibility bits
|
||||
CONFIGURE_ARGS += \
|
||||
--enable-reproducible-build \
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
--- a/wolfssl/wolfcrypt/settings.h
|
||||
+++ b/wolfssl/wolfcrypt/settings.h
|
||||
@@ -2496,7 +2496,7 @@ extern void uITRON4_free(void *p) ;
|
||||
#endif
|
||||
@@ -3722,7 +3722,7 @@ extern void uITRON4_free(void *p) ;
|
||||
|
||||
/* warning for not using harden build options (default with ./configure) */
|
||||
-#ifndef WC_NO_HARDEN
|
||||
/* do not warn if big integer support is disabled */
|
||||
-#if !defined(WC_NO_HARDEN) && !defined(NO_BIG_INT)
|
||||
+#if 0
|
||||
#if (defined(USE_FAST_MATH) && !defined(TFM_TIMING_RESISTANT)) || \
|
||||
(defined(HAVE_ECC) && !defined(ECC_TIMING_RESISTANT)) || \
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=ubox
|
||||
PKG_RELEASE:=$(AUTORELEASE)
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=$(PROJECT_GIT)/project/ubox.git
|
||||
PKG_SOURCE_DATE:=2022-08-13
|
||||
PKG_SOURCE_VERSION:=4c7b720b9c63b826fb9404e454ae54f2ef5649d5
|
||||
PKG_MIRROR_HASH:=35178148034dfef36c5fda2bc8217617920bc1a3b86f72efbe87e85048a6a2a8
|
||||
PKG_SOURCE_DATE:=2024-04-26
|
||||
PKG_SOURCE_VERSION:=85f1053019caf4cd333795760950235ee4529ba7
|
||||
PKG_MIRROR_HASH:=0fea1a29aefc4b5932d739b0c942c182aef7a1ac44f467de80183b21dd739332
|
||||
CMAKE_INSTALL:=1
|
||||
|
||||
PKG_LICENSE:=GPL-2.0
|
||||
@ -44,9 +44,10 @@ endef
|
||||
define Package/logd
|
||||
SECTION:=base
|
||||
CATEGORY:=Base system
|
||||
DEPENDS:=+libubox +libubus +libblobmsg-json
|
||||
DEPENDS:=+libubox +libubus +libblobmsg-json +libudebug
|
||||
TITLE:=OpenWrt system log implementation
|
||||
USERID:=logd=514:logd=514
|
||||
ALTERNATIVES:=200:/sbin/logread:/usr/libexec/logread-ubox
|
||||
endef
|
||||
|
||||
define Package/getrandom/install
|
||||
@ -63,10 +64,12 @@ define Package/ubox/install
|
||||
endef
|
||||
|
||||
define Package/logd/install
|
||||
$(INSTALL_DIR) $(1)/sbin $(1)/etc/init.d/
|
||||
$(INSTALL_DIR) $(1)/sbin $(1)/usr/libexec/ $(1)/etc/init.d/ $(1)/usr/share/acl.d
|
||||
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/{logd,logread} $(1)/sbin/
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/logd $(1)/sbin/
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/logread $(1)/usr/libexec/logread-ubox
|
||||
$(INSTALL_BIN) ./files/log.init $(1)/etc/init.d/log
|
||||
$(INSTALL_DATA) ./files/logd.json $(1)/usr/share/acl.d
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,ubox))
|
||||
|
||||
@ -52,8 +52,12 @@ start_service_file()
|
||||
}
|
||||
[ -z "${log_file}" ] && return
|
||||
|
||||
local mountpoint="$(procd_get_mountpoints "${log_file}")"
|
||||
|
||||
[ "$_BOOT" = "1" ] &&
|
||||
[ "$(procd_get_mountpoints "${log_file}")" ] && return 0
|
||||
[ "$mountpoint" ] &&
|
||||
! grep -q ".* $mountpoint " /proc/mounts &&
|
||||
return 0
|
||||
|
||||
mkdir -p "$(dirname "${log_file}")"
|
||||
|
||||
|
||||
4
package/system/ubox/files/logd.json
Normal file
4
package/system/ubox/files/logd.json
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"user": "logd",
|
||||
"publish": [ "log" ]
|
||||
}
|
||||
@ -17,7 +17,6 @@
|
||||
#define err_return(err, ...) do { set_error(err, __VA_ARGS__); return NULL; } while(0)
|
||||
#define TRUE ucv_boolean_new(true)
|
||||
|
||||
static uc_resource_type_t *module_type, *map_type, *map_iter_type, *program_type;
|
||||
static uc_value_t *registry;
|
||||
static uc_vm_t *debug_vm;
|
||||
|
||||
@ -184,21 +183,38 @@ uc_bpf_open_module(uc_vm_t *vm, size_t nargs)
|
||||
err_return(errno, NULL);
|
||||
}
|
||||
|
||||
return uc_resource_new(module_type, obj);
|
||||
return ucv_resource_create(vm, "bpf.module", obj);
|
||||
}
|
||||
|
||||
static uc_value_t *
|
||||
uc_bpf_map_create(int fd, unsigned int key_size, unsigned int val_size, bool close)
|
||||
uc_bpf_map_create(uc_vm_t *vm, uc_value_t *mod, int fd, unsigned int key_size,
|
||||
unsigned int val_size, bool close)
|
||||
{
|
||||
struct uc_bpf_map *uc_map;
|
||||
uc_value_t *res;
|
||||
|
||||
uc_map = xalloc(sizeof(*uc_map));
|
||||
res = ucv_resource_create_ex(vm, "bpf.map", (void **)&uc_map, 1, sizeof(*uc_map));
|
||||
ucv_resource_value_set(res, 0, ucv_get(mod));
|
||||
uc_map->fd.fd = fd;
|
||||
uc_map->key_size = key_size;
|
||||
uc_map->val_size = val_size;
|
||||
uc_map->fd.close = close;
|
||||
|
||||
return uc_resource_new(map_type, uc_map);
|
||||
return res;
|
||||
}
|
||||
|
||||
static uc_value_t *
|
||||
uc_bpf_prog_create(uc_vm_t *vm, uc_value_t *mod, int fd, bool close)
|
||||
{
|
||||
struct uc_bpf_fd *uc_fd;
|
||||
uc_value_t *res;
|
||||
|
||||
res = ucv_resource_create_ex(vm, "bpf.program", (void **)&uc_fd, 1, sizeof(*uc_fd));
|
||||
ucv_resource_value_set(res, 0, ucv_get(mod));
|
||||
uc_fd->fd = fd;
|
||||
uc_fd->close = close;
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
static uc_value_t *
|
||||
@ -223,14 +239,13 @@ uc_bpf_open_map(uc_vm_t *vm, size_t nargs)
|
||||
err_return(errno, NULL);
|
||||
}
|
||||
|
||||
return uc_bpf_map_create(fd, info.key_size, info.value_size, true);
|
||||
return uc_bpf_map_create(vm, NULL, fd, info.key_size, info.value_size, true);
|
||||
}
|
||||
|
||||
static uc_value_t *
|
||||
uc_bpf_open_program(uc_vm_t *vm, size_t nargs)
|
||||
{
|
||||
uc_value_t *path = uc_fn_arg(0);
|
||||
struct uc_bpf_fd *f;
|
||||
int fd;
|
||||
|
||||
if (ucv_type(path) != UC_STRING)
|
||||
@ -240,11 +255,7 @@ uc_bpf_open_program(uc_vm_t *vm, size_t nargs)
|
||||
if (fd < 0)
|
||||
err_return(errno, NULL);
|
||||
|
||||
f = xalloc(sizeof(*f));
|
||||
f->fd = fd;
|
||||
f->close = true;
|
||||
|
||||
return uc_resource_new(program_type, f);
|
||||
return uc_bpf_prog_create(vm, NULL, fd, true);
|
||||
}
|
||||
|
||||
static uc_value_t *
|
||||
@ -284,7 +295,7 @@ uc_bpf_module_get_map(uc_vm_t *vm, size_t nargs)
|
||||
if (fd < 0)
|
||||
err_return(EINVAL, NULL);
|
||||
|
||||
return uc_bpf_map_create(fd, bpf_map__key_size(map), bpf_map__value_size(map), false);
|
||||
return uc_bpf_map_create(vm, _uc_fn_this_res(vm), fd, bpf_map__key_size(map), bpf_map__value_size(map), false);
|
||||
}
|
||||
|
||||
static uc_value_t *
|
||||
@ -311,7 +322,6 @@ uc_bpf_module_get_program(uc_vm_t *vm, size_t nargs)
|
||||
struct bpf_object *obj = uc_fn_thisval("bpf.module");
|
||||
struct bpf_program *prog;
|
||||
uc_value_t *name = uc_fn_arg(0);
|
||||
struct uc_bpf_fd *f;
|
||||
int fd;
|
||||
|
||||
if (!obj || !name || ucv_type(name) != UC_STRING)
|
||||
@ -325,10 +335,7 @@ uc_bpf_module_get_program(uc_vm_t *vm, size_t nargs)
|
||||
if (fd < 0)
|
||||
err_return(EINVAL, NULL);
|
||||
|
||||
f = xalloc(sizeof(*f));
|
||||
f->fd = fd;
|
||||
|
||||
return uc_resource_new(program_type, f);
|
||||
return uc_bpf_prog_create(vm, _uc_fn_this_res(vm), fd, false);
|
||||
}
|
||||
|
||||
static void *
|
||||
@ -493,16 +500,18 @@ uc_bpf_map_iterator(uc_vm_t *vm, size_t nargs)
|
||||
{
|
||||
struct uc_bpf_map *map = uc_fn_thisval("bpf.map");
|
||||
struct uc_bpf_map_iter *iter;
|
||||
uc_value_t *res;
|
||||
|
||||
if (!map)
|
||||
err_return(EINVAL, NULL);
|
||||
|
||||
iter = xalloc(sizeof(*iter) + map->key_size);
|
||||
res = ucv_resource_create_ex(vm, "bpf.map_iter", (void **)&iter, 1, sizeof(*iter) + map->key_size);
|
||||
ucv_resource_value_set(res, 0, ucv_get(_uc_fn_this_res(vm)));
|
||||
iter->fd = map->fd.fd;
|
||||
iter->key_size = map->key_size;
|
||||
iter->has_next = !bpf_map_get_next_key(iter->fd, NULL, &iter->key);
|
||||
|
||||
return uc_resource_new(map_iter_type, iter);
|
||||
return res;
|
||||
}
|
||||
|
||||
static uc_value_t *
|
||||
@ -611,7 +620,7 @@ uc_bpf_map_pin(uc_vm_t *vm, size_t nargs)
|
||||
|
||||
static uc_value_t *
|
||||
uc_bpf_set_tc_hook(uc_value_t *ifname, uc_value_t *type, uc_value_t *prio,
|
||||
int fd)
|
||||
uc_value_t *classid, int fd)
|
||||
{
|
||||
DECLARE_LIBBPF_OPTS(bpf_tc_hook, hook);
|
||||
DECLARE_LIBBPF_OPTS(bpf_tc_opts, attach_tc,
|
||||
@ -648,6 +657,7 @@ uc_bpf_set_tc_hook(uc_value_t *ifname, uc_value_t *type, uc_value_t *prio,
|
||||
goto out;
|
||||
|
||||
attach_tc.prog_fd = fd;
|
||||
attach_tc.classid = ucv_int64_get(classid);
|
||||
if (bpf_tc_attach(&hook, &attach_tc) < 0)
|
||||
goto error;
|
||||
|
||||
@ -667,11 +677,12 @@ uc_bpf_program_tc_attach(uc_vm_t *vm, size_t nargs)
|
||||
uc_value_t *ifname = uc_fn_arg(0);
|
||||
uc_value_t *type = uc_fn_arg(1);
|
||||
uc_value_t *prio = uc_fn_arg(2);
|
||||
uc_value_t *classid = uc_fn_arg(3);
|
||||
|
||||
if (!f)
|
||||
err_return(EINVAL, NULL);
|
||||
|
||||
return uc_bpf_set_tc_hook(ifname, type, prio, f->fd);
|
||||
return uc_bpf_set_tc_hook(ifname, type, prio, classid, f->fd);
|
||||
}
|
||||
|
||||
static uc_value_t *
|
||||
@ -681,7 +692,7 @@ uc_bpf_tc_detach(uc_vm_t *vm, size_t nargs)
|
||||
uc_value_t *type = uc_fn_arg(1);
|
||||
uc_value_t *prio = uc_fn_arg(2);
|
||||
|
||||
return uc_bpf_set_tc_hook(ifname, type, prio, -1);
|
||||
return uc_bpf_set_tc_hook(ifname, type, prio, NULL, -1);
|
||||
}
|
||||
|
||||
static int
|
||||
@ -777,7 +788,6 @@ static void uc_bpf_fd_free(void *ptr)
|
||||
|
||||
if (f->close)
|
||||
close(f->fd);
|
||||
free(f);
|
||||
}
|
||||
|
||||
static const uc_function_list_t map_iter_fns[] = {
|
||||
@ -807,8 +817,8 @@ void uc_module_init(uc_vm_t *vm, uc_value_t *scope)
|
||||
registry = ucv_array_new(vm);
|
||||
uc_vm_registry_set(vm, "bpf.registry", registry);
|
||||
|
||||
module_type = uc_type_declare(vm, "bpf.module", module_fns, module_free);
|
||||
map_type = uc_type_declare(vm, "bpf.map", map_fns, uc_bpf_fd_free);
|
||||
map_iter_type = uc_type_declare(vm, "bpf.map_iter", map_iter_fns, free);
|
||||
program_type = uc_type_declare(vm, "bpf.program", prog_fns, uc_bpf_fd_free);
|
||||
uc_type_declare(vm, "bpf.module", module_fns, module_free);
|
||||
uc_type_declare(vm, "bpf.map", map_fns, uc_bpf_fd_free);
|
||||
uc_type_declare(vm, "bpf.map_iter", map_iter_fns, NULL);
|
||||
uc_type_declare(vm, "bpf.program", prog_fns, uc_bpf_fd_free);
|
||||
}
|
||||
|
||||
@ -12,9 +12,9 @@ PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=https://github.com/jow-/ucode.git
|
||||
PKG_SOURCE_DATE:=2025-03-24
|
||||
PKG_SOURCE_VERSION:=b27d70c977ab4381f4094a0b1208e2a13fc5123f
|
||||
PKG_MIRROR_HASH:=c2285ab8e473a12a1795864323af15779ef42a72dfe8a77c740cf99c316a2ac7
|
||||
PKG_SOURCE_DATE:=2025-08-26
|
||||
PKG_SOURCE_VERSION:=5f712ffd3f31f13ed4812cfb37c21dbef7a75e2b
|
||||
PKG_MIRROR_HASH:=156b8c3bff39161f01f17272dd16288373c0e90b6cc6ea65eeeb90293ef040c1
|
||||
PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
|
||||
PKG_LICENSE:=ISC
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user