mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-25 00:11:13 +00:00
6675a9aaf4
Changes since v1.2.8: 32aaf32 libxdp: Fix incorrect rx_ring_setup_done 6049671 headers: add bpf_endian.h for parsing_helpers.h 2682c1c export-man: Ignore errors when executing git shell command 8afda7a xdp-loader/README: Mention lack of support for HW mode in most cards dc69919 libxdp: fix prog_fd checks for fd >= 0 3d7c22a libxdp: Allow falling back to single-program attachment for loaded programs af00429 libxdp: Fix check in xdp_program__attach_single() 41703d2 libxdp: Make sure to set the the program autoload when loading a program b1fd2e5 test-xdpdump: Only run tshark attribute test on newer versions of tshark 5dfe342 libxdp: Convert xdp-dispatcher to use strict section names 929a22e configure: Try to auto-detect versioned clang binaries 074fcfb libxdp: Check program name when determining if a program is a dispatcher e13a191 Bump TOOLS_VERSION to 1.2.9 Signed-off-by: Daniel Golle <daniel@makrotopia.org>
140 lines
3.9 KiB
Makefile
140 lines
3.9 KiB
Makefile
include $(TOPDIR)/rules.mk
|
|
|
|
PKG_NAME:=xdp-tools
|
|
PKG_RELEASE:=$(AUTORELEASE)
|
|
PKG_VERSION:=1.2.9
|
|
PKG_HASH:=159ed8d3c8195d812ec3cde83bd736245a72743af372998320d39c2ba69ab142
|
|
|
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
|
PKG_SOURCE_URL:=https://codeload.github.com/xdp-project/xdp-tools/tar.gz/v$(PKG_VERSION)?
|
|
PKG_ABI_VERSION:=$(call abi_version_str,$(PKG_VERSION))
|
|
|
|
PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
|
|
|
|
PKG_BUILD_DEPENDS:=bpf-headers
|
|
PKG_FLAGS:=nonshared
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
include $(INCLUDE_DIR)/bpf.mk
|
|
include $(INCLUDE_DIR)/nls.mk
|
|
|
|
PKG_BUILD_PARALLEL:=1
|
|
PKG_INSTALL:=1
|
|
|
|
define Package/libxdp
|
|
SECTION:=libs
|
|
CATEGORY:=Libraries
|
|
TITLE:=libxdp - Library for use with XDP
|
|
LICENSE:=LGPL-2.1 OR BSD-2-Clause
|
|
ABI_VERSION:=$(PKG_ABI_VERSION)
|
|
URL:=https://github.com/xdp-project/xdp-tools/
|
|
DEPENDS:=+libbpf $(BPF_DEPENDS)
|
|
endef
|
|
|
|
define Package/libxdp/description
|
|
libxdp - library for attaching XDP programs and using AF_XDP sockets
|
|
endef
|
|
|
|
define Package/xdp-tools/Default
|
|
SECTION:=net
|
|
CATEGORY:=Network
|
|
LICENSE:=GPL-2.0-only
|
|
URL:=https://github.com/xdp-project/xdp-tools/
|
|
DEPENDS:=+libxdp
|
|
endef
|
|
|
|
define Package/xdp-filter
|
|
$(call Package/xdp-tools/Default)
|
|
TITLE:=xdp-filter - a simple XDP-powered packet filter
|
|
endef
|
|
|
|
define Package/xdp-filter/description
|
|
xdp-filter is a packet filtering utility powered by XDP. It is deliberately
|
|
simple and so does not have the same matching capabilities as, e.g.,
|
|
netfilter. Instead, thanks to XDP, it can achieve very high drop rates:
|
|
tens of millions of packets per second on a single CPU core.
|
|
endef
|
|
|
|
|
|
define Package/xdp-loader
|
|
$(call Package/xdp-tools/Default)
|
|
TITLE:=xdp-loader - an XDP program loader
|
|
endef
|
|
|
|
define Package/xdp-loader/description
|
|
xdp-loader is a simple loader for XDP programs with support for attaching
|
|
multiple programs to the same interface. To achieve this it exposes the same
|
|
load and unload semantics exposed by the libxdp library.
|
|
endef
|
|
|
|
define Package/xdpdump
|
|
$(call Package/xdp-tools/Default)
|
|
TITLE:=xdpdump - tool for capturing packets at the XDP layer
|
|
DEPENDS+=+libpcap
|
|
endef
|
|
|
|
define Package/xdpdump/description
|
|
xdpdump - a simple tcpdump like tool for capturing packets at the XDP layer
|
|
endef
|
|
|
|
TARGET_LDFLAGS += $(INTL_LDFLAGS)
|
|
|
|
CONFIGURE_VARS += \
|
|
FORCE_SYSTEM_LIBBPF=1 \
|
|
CC="$(TARGET_CC)" \
|
|
CFLAGS="$(TARGET_CFLAGS)" \
|
|
LDFLAGS="$(TARGET_LDFLAGS)" \
|
|
CLANG="$(CLANG)" \
|
|
BPF_TARGET="$(BPF_TARGET)" \
|
|
LLC="$(LLVM_LLC)"
|
|
|
|
MAKE_VARS += \
|
|
PREFIX=/usr \
|
|
RUNDIR=/tmp/run
|
|
|
|
define Build/Configure
|
|
$(call Build/Configure/Default)
|
|
echo "BPF_CFLAGS += -I$(BPF_HEADERS_DIR)/tools/lib" >> $(PKG_BUILD_DIR)/config.mk
|
|
endef
|
|
|
|
define Build/InstallDev
|
|
$(INSTALL_DIR) $(1)/usr/include/xdp
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/include/xdp/*.h $(1)/usr/include/xdp/
|
|
$(INSTALL_DIR) $(1)/usr/lib/bpf
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libxdp.{a,so*} $(1)/usr/lib/
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/bpf/*.o $(1)/usr/lib/bpf
|
|
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libxdp.pc \
|
|
$(1)/usr/lib/pkgconfig/
|
|
$(SED) 's,/usr/include,$$$${prefix}/include,g' \
|
|
$(1)/usr/lib/pkgconfig/libxdp.pc
|
|
$(SED) 's,/usr/lib,$$$${exec_prefix}/lib,g' \
|
|
$(1)/usr/lib/pkgconfig/libxdp.pc
|
|
endef
|
|
|
|
define Package/xdp-filter/install
|
|
$(INSTALL_DIR) $(1)/usr/sbin
|
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/xdp-filter $(1)/usr/sbin
|
|
endef
|
|
|
|
define Package/xdp-loader/install
|
|
$(INSTALL_DIR) $(1)/usr/sbin
|
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/xdp-loader $(1)/usr/sbin
|
|
endef
|
|
|
|
define Package/xdpdump/install
|
|
$(INSTALL_DIR) $(1)/usr/sbin
|
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/xdpdump $(1)/usr/sbin
|
|
endef
|
|
|
|
define Package/libxdp/install
|
|
$(INSTALL_DIR) $(1)/usr/lib/bpf
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libxdp.so.* $(1)/usr/lib/
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/bpf/*.o $(1)/usr/lib/bpf
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,libxdp))
|
|
$(eval $(call BuildPackage,xdp-filter))
|
|
$(eval $(call BuildPackage,xdp-loader))
|
|
$(eval $(call BuildPackage,xdpdump))
|