1 include $(TOPDIR
)/rules.mk
4 PKG_RELEASE
:=$(AUTORELEASE
)
6 PKG_HASH
:=e1bead15014adf404c1ae93b5bb24e6625840b4aadef6c1acfb47e0b99039f52
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_CFLAGS
="$(BPF_CFLAGS)" \
89 BPF_TARGET
="$(BPF_TARGET)" \
96 define Build
/InstallDev
97 $(INSTALL_DIR
) $(1)/usr
/include/xdp
98 $(CP
) $(PKG_INSTALL_DIR
)/usr
/include/xdp
/*.h
$(1)/usr
/include/xdp
/
99 $(INSTALL_DIR
) $(1)/usr
/lib
/bpf
100 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libxdp.
{a
,so
*} $(1)/usr
/lib
/
101 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/bpf
/*.o
$(1)/usr
/lib
/bpf
102 $(INSTALL_DIR
) $(1)/usr
/lib
/pkgconfig
103 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/pkgconfig
/libxdp.
pc \
104 $(1)/usr
/lib
/pkgconfig
/
105 $(SED
) 's,/usr/include,$$$${prefix}/include,g' \
106 $(1)/usr
/lib
/pkgconfig
/libxdp.
pc
107 $(SED
) 's,/usr/lib,$$$${exec_prefix}/lib,g' \
108 $(1)/usr
/lib
/pkgconfig
/libxdp.
pc
111 define Package
/xdp-filter
/install
112 $(INSTALL_DIR
) $(1)/usr
/sbin
113 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/sbin
/xdp-filter
$(1)/usr
/sbin
116 define Package
/xdp-loader
/install
117 $(INSTALL_DIR
) $(1)/usr
/sbin
118 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/sbin
/xdp-loader
$(1)/usr
/sbin
121 define Package
/xdpdump
/install
122 $(INSTALL_DIR
) $(1)/usr
/sbin
123 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/sbin
/xdpdump
$(1)/usr
/sbin
126 define Package
/libxdp
/install
127 $(INSTALL_DIR
) $(1)/usr
/lib
/bpf
128 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libxdp.so.
* $(1)/usr
/lib
/
129 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/bpf
/*.o
$(1)/usr
/lib
/bpf
132 $(eval
$(call BuildPackage
,libxdp
))
133 $(eval
$(call BuildPackage
,xdp-filter
))
134 $(eval
$(call BuildPackage
,xdp-loader
))
135 $(eval
$(call BuildPackage
,xdpdump
))