1 include $(TOPDIR
)/rules.mk
6 PKG_HASH
:=159ed8d3c8195d812ec3cde83bd736245a72743af372998320d39c2ba69ab142
8 PKG_SOURCE
:=$(PKG_NAME
)-$(PKG_VERSION
).
tar.gz
9 PKG_SOURCE_URL
:=https
://codeload.github.com
/xdp-project
/xdp-tools
/tar.gz
/v
$(PKG_VERSION
)?
10 PKG_ABI_VERSION
:=$(call abi_version_str
,$(PKG_VERSION
))
12 PKG_MAINTAINER
:=Daniel Golle
<daniel@makrotopia.org
>
14 PKG_BUILD_DEPENDS
:=bpf-headers
17 include $(INCLUDE_DIR
)/package.mk
18 include $(INCLUDE_DIR
)/bpf.mk
19 include $(INCLUDE_DIR
)/nls.mk
27 TITLE
:=libxdp
- Library for use with XDP
28 LICENSE
:=LGPL-2.1 OR BSD-2-Clause
29 ABI_VERSION
:=$(PKG_ABI_VERSION
)
30 URL
:=https
://github.com
/xdp-project
/xdp-tools
/
31 DEPENDS
:=+libbpf
$(BPF_DEPENDS
)
34 define Package
/libxdp
/description
35 libxdp
- library for attaching XDP programs and using AF_XDP sockets
38 define Package
/xdp-tools
/Default
42 URL
:=https
://github.com
/xdp-project
/xdp-tools
/
46 define Package
/xdp-filter
47 $(call Package
/xdp-tools
/Default
)
48 TITLE
:=xdp-filter
- a simple XDP-powered packet
filter
51 define Package
/xdp-filter
/description
52 xdp-filter is a packet filtering utility powered by XDP. It is deliberately
53 simple and so does not have the same matching capabilities
as, e.g.
,
54 netfilter. Instead
, thanks to XDP
, it can achieve very high drop rates
:
55 tens of millions of packets per second on a single CPU core.
59 define Package
/xdp-loader
60 $(call Package
/xdp-tools
/Default
)
61 TITLE
:=xdp-loader
- an XDP program loader
64 define Package
/xdp-loader
/description
65 xdp-loader is a simple loader for XDP programs with support for attaching
66 multiple programs to the same interface. To achieve this it exposes the same
67 load and unload semantics exposed by the libxdp library.
70 define Package
/xdpdump
71 $(call Package
/xdp-tools
/Default
)
72 TITLE
:=xdpdump
- tool for capturing packets at the XDP layer
76 define Package
/xdpdump
/description
77 xdpdump
- a simple tcpdump like tool for capturing packets at the XDP layer
80 TARGET_LDFLAGS
+= $(INTL_LDFLAGS
)
83 FORCE_SYSTEM_LIBBPF
=1 \
85 CFLAGS
="$(TARGET_CFLAGS)" \
86 LDFLAGS
="$(TARGET_LDFLAGS)" \
88 BPF_TARGET
="$(BPF_ARCH)-linux-gnu" \
90 BPF_LDFLAGS
="-march=$(BPF_TARGET) -mcpu=v3"
92 ifneq ($(findstring s
,$(OPENWRT_VERBOSE
)),)
100 define Build
/Configure
101 $(call Build
/Configure
/Default
)
102 echo
"BPF_CFLAGS += $(BPF_CFLAGS) -Wno-error -fno-stack-protector" >> $(PKG_BUILD_DIR
)/config.mk
105 define Build
/InstallDev
106 $(INSTALL_DIR
) $(1)/usr
/include/xdp
107 $(CP
) $(PKG_INSTALL_DIR
)/usr
/include/xdp
/*.h
$(1)/usr
/include/xdp
/
108 $(INSTALL_DIR
) $(1)/usr
/lib
/bpf
109 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libxdp.
{a
,so
*} $(1)/usr
/lib
/
110 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/bpf
/*.o
$(1)/usr
/lib
/bpf
111 $(INSTALL_DIR
) $(1)/usr
/lib
/pkgconfig
112 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/pkgconfig
/libxdp.
pc \
113 $(1)/usr
/lib
/pkgconfig
/
114 $(SED
) 's,/usr/include,$$$${prefix}/include,g' \
115 $(1)/usr
/lib
/pkgconfig
/libxdp.
pc
116 $(SED
) 's,/usr/lib,$$$${exec_prefix}/lib,g' \
117 $(1)/usr
/lib
/pkgconfig
/libxdp.
pc
120 define Package
/xdp-filter
/install
121 $(INSTALL_DIR
) $(1)/usr
/sbin
122 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/sbin
/xdp-filter
$(1)/usr
/sbin
125 define Package
/xdp-loader
/install
126 $(INSTALL_DIR
) $(1)/usr
/sbin
127 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/sbin
/xdp-loader
$(1)/usr
/sbin
130 define Package
/xdpdump
/install
131 $(INSTALL_DIR
) $(1)/usr
/sbin
132 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/sbin
/xdpdump
$(1)/usr
/sbin
135 define Package
/libxdp
/install
136 $(INSTALL_DIR
) $(1)/usr
/lib
/bpf
137 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libxdp.so.
* $(1)/usr
/lib
/
138 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/bpf
/*.o
$(1)/usr
/lib
/bpf
141 $(eval
$(call BuildPackage
,libxdp
))
142 $(eval
$(call BuildPackage
,xdp-filter
))
143 $(eval
$(call BuildPackage
,xdp-loader
))
144 $(eval
$(call BuildPackage
,xdpdump
))