#
|
|
# Copyright (C) 2017 Banglang Huang
|
|
#
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
# See /LICENSE for more information.
|
|
#
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
include $(INCLUDE_DIR)/kernel.mk
|
|
|
|
PKG_NAME:=libpfring
|
|
PKG_VERSION:=7.4.0
|
|
PKG_RELEASE:=2
|
|
|
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
|
PKG_SOURCE_URL:=https://codeload.github.com/ntop/PF_RING/tar.gz/$(PKG_VERSION)?
|
|
PKG_HASH:=e1c9cb44d8072854220f493c56fa5cba99a6b8336883939dc18b3e30c2954b68
|
|
PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/PF_RING-$(PKG_VERSION)
|
|
|
|
PKG_MAINTAINER:=Banglang Huang <banglang.huang@foxmail.com>
|
|
|
|
PKG_FIXUP:=patch-libtool
|
|
PKG_INSTALL:=1
|
|
PKG_BUILD_PARALLEL:=1
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
|
|
CONFIGURE_PATH:=userland
|
|
MAKE_PATH:=userland/lib
|
|
|
|
define Package/libpfring
|
|
SECTION:=libs
|
|
CATEGORY:=Libraries
|
|
TITLE:=Library for PR_RING (package process framework)
|
|
URL:=https://github.com/ntop/pf_ring
|
|
DEPENDS:=+kmod-pf-ring +libpcap +libpthread
|
|
LICENSE:=LGPL-2.1-or-later
|
|
LICENSE_FILES:=LICENSE
|
|
endef
|
|
|
|
define Package/libpfring/description
|
|
PF_RING is a high speed packet capture library that turns a commodity PC into an efficient and cheap
|
|
network measurement box suitable for both packet and active traffic analysis and manipulation.
|
|
Moreover, PF_RING opens totally new markets as it enables the creation of efficient application such as
|
|
traffic balancers or packet filters in a matter of lines of codes.
|
|
endef
|
|
|
|
define KernelPackage/pf-ring
|
|
SUBMENU:=Network Support
|
|
TITLE:=PF_RING Kernel driver
|
|
FILES:=$(PKG_BUILD_DIR)/kernel/pf_ring.ko
|
|
AUTOLOAD:=$(call AutoLoad,90,pf_ring,1)
|
|
LICENSE:=GPL-2.0-or-later
|
|
endef
|
|
|
|
define KernelPackage/pf-ring/description
|
|
Kernel module for libpf-ring package
|
|
endef
|
|
|
|
CONFIGURE_VARS += \
|
|
MACHINE="$(ARCH)" \
|
|
ac_cv_lib_nl_3_nl_socket_alloc=no
|
|
|
|
define Build/Compile
|
|
$(MAKE) -C "$(LINUX_DIR)" \
|
|
KERNEL_DIR="$(LINUX_DIR)" \
|
|
ARCH="$(LINUX_KARCH)" \
|
|
CROSS_COMPILE="$(TARGET_CROSS)" \
|
|
SUBDIRS="$(PKG_BUILD_DIR)/kernel" \
|
|
EXTRA_CFLAGS="$(EXTRA_CFLAGS) -I$(PKG_BUILD_DIR)/kernel" \
|
|
modules
|
|
$(call Build/Compile/Default)
|
|
endef
|
|
|
|
define Build/InstallDev
|
|
$(INSTALL_DIR) $(1)/usr/include/
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/
|
|
|
|
$(INSTALL_DIR) $(1)/usr/lib
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libpfring.so* $(1)/usr/lib/
|
|
endef
|
|
|
|
define Package/libpfring/install
|
|
$(INSTALL_DIR) $(1)/usr/lib/
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libpfring.so* $(1)/usr/lib/
|
|
$(LN) libpfring.so $(1)/usr/lib/libpfring.so.1
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,libpfring))
|
|
$(eval $(call KernelPackage,pf-ring))
|