Add the ipvsadm command line tool to set up, maintain or inspect the virtual server table in the Linux kernel. Signed-off-by: Florian Eckert <fe@dev.tdt.de>lilik-openwrt-22.03
@ -0,0 +1,61 @@ | |||
# | |||
# Copyright (C) 2016-2017 Mauro Mozzarelli | |||
# | |||
# This is free software, licensed under the GNU General Public License | |||
# See /LICENSE for more information. | |||
# | |||
# AUTHOR: Mauro Mozzarelli <mauro@ezplanet.org> | |||
# | |||
include $(TOPDIR)/rules.mk | |||
PKG_NAME:=ipvsadm | |||
PKG_VERSION:=1.29 | |||
PKG_MAINTAINER:=Mauro Mozzarelli <mauro@ezplanet.org>, \ | |||
Florian Eckert <fe@dev.tdt.de> | |||
PKG_LICENSE:=GPL-2.0+ | |||
PKG_RELEASE:=1 | |||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz | |||
PKG_SOURCE_URL:=https://www.kernel.org/pub/linux/utils/kernel/ipvsadm/ | |||
PKG_HASH:=c3de4a21d90a02c621f0c72ee36a7aa27374b6f29fd4178f33fbf71b4c66c149 | |||
PKG_BUILD_PARALLEL:=1 | |||
PKG_INSTALL:=1 | |||
include $(INCLUDE_DIR)/package.mk | |||
define Package/ipvsadm | |||
SECTION:=net | |||
CATEGORY:=Network | |||
TITLE:=IP Virtual Server Configuration Manager | |||
URL:=http://www.linuxvirtualserver.org | |||
DEPENDS:= +kmod-nf-ipvs +libnl-tiny +libpopt | |||
endef | |||
define Package/ipvsadm/description | |||
IPVS (IP Virtual Server) implements transport-layer load balancing | |||
inside the Linux kernel, so called Layer-4 switching. The command line tool | |||
ipvsadm is used to set up, maintain or inspect the virtual server table | |||
in the Linux kernel. The Linux Virtual Server can be used to build scalable | |||
network services based on a cluster of two or more nodes. | |||
endef | |||
TARGET_CFLAGS += \ | |||
-D_GNU_SOURCE \ | |||
-I$(STAGING_DIR)/usr/include/libnl-tiny | |||
define Build/Compile | |||
CFLAGS="$(TARGET_CFLAGS)" \ | |||
$(MAKE) -C $(PKG_BUILD_DIR) \ | |||
CC="$(TARGET_CC)" \ | |||
LIBS="$(TARGET_LDFLAGS) -lnl-tiny -lpopt" | |||
endef | |||
define Package/ipvsadm/install | |||
$(INSTALL_DIR) $(1)/sbin | |||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/ipvsadm $(1)/sbin/ | |||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/ipvsadm-save $(1)/sbin/ | |||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/ipvsadm-restore $(1)/sbin/ | |||
endef | |||
$(eval $(call BuildPackage,ipvsadm)) |
@ -0,0 +1,54 @@ | |||
--- a/Makefile | |||
+++ b/Makefile | |||
@@ -35,7 +35,7 @@ ARCH = $(shell uname -m) | |||
RPMSOURCEDIR = $(shell rpm --eval '%_sourcedir') | |||
RPMSPECDIR = $(shell rpm --eval '%_specdir') | |||
-CC = gcc | |||
+BUILD_ROOT = $(DESTDIR) | |||
INCLUDE = | |||
SBIN = $(BUILD_ROOT)/sbin | |||
MANDIR = usr/man | |||
@@ -46,9 +46,9 @@ INSTALL = install | |||
STATIC_LIBS = libipvs/libipvs.a | |||
ifeq "${ARCH}" "sparc64" | |||
- CFLAGS = -Wall -Wunused -Wstrict-prototypes -g -m64 -pipe -mcpu=ultrasparc -mcmodel=medlow | |||
+ CFLAGS += -Wall -Wunused -Wstrict-prototypes -g -m64 -pipe -mcpu=ultrasparc -mcmodel=medlow | |||
else | |||
- CFLAGS = -Wall -Wunused -Wstrict-prototypes -g | |||
+ CFLAGS += -Wall -Wunused -Wstrict-prototypes -g | |||
endif | |||
@@ -83,8 +83,9 @@ DEFINES += $(shell if [ ! -f ../ip_vs.h | |||
all: libs ipvsadm | |||
+$(STATIC_LIBS): libs | |||
libs: | |||
- make -C libipvs | |||
+ $(MAKE) -C libipvs | |||
ipvsadm: $(OBJS) $(STATIC_LIBS) | |||
$(CC) $(CFLAGS) -o $@ $^ $(LIBS) | |||
@@ -106,7 +107,7 @@ clean: | |||
rm -rf debian/tmp | |||
find . -name '*.[ao]' -o -name "*~" -o -name "*.orig" \ | |||
-o -name "*.rej" -o -name core | xargs rm -f | |||
- make -C libipvs clean | |||
+ $(MAKE) -C libipvs clean | |||
distclean: clean | |||
--- a/libipvs/Makefile | |||
+++ b/libipvs/Makefile | |||
@@ -1,7 +1,6 @@ | |||
# Makefile for libipvs | |||
-CC = gcc | |||
-CFLAGS = -Wall -Wunused -Wstrict-prototypes -g -fPIC | |||
+CFLAGS += -Wall -Wunused -Wstrict-prototypes -g -fPIC | |||
ifneq (0,$(HAVE_NL)) | |||
CFLAGS += -DLIBIPVS_USE_NL | |||
CFLAGS += $(shell \ |
@ -0,0 +1,34 @@ | |||
--- a/ipvsadm-restore | |||
+++ b/ipvsadm-restore | |||
@@ -1,4 +1,4 @@ | |||
-#!/bin/bash | |||
+#!/bin/sh | |||
# ipvsadm-restore - Restore IPVS rules | |||
# | |||
# A very simple wrapper to restore IPVS rules | |||
@@ -11,6 +11,8 @@ | |||
# This file: | |||
# | |||
# ChangeLog | |||
+# M. Mozzarelli : Amended to use /bin/sh for compatibility | |||
+# : with embedded systems using busybox | |||
# Horms : Clear IPVS rules before adding from STDIN | |||
# Horms : Filter out "^#" | |||
# | |||
--- a/ipvsadm-save | |||
+++ b/ipvsadm-save | |||
@@ -1,4 +1,4 @@ | |||
-#!/bin/bash | |||
+#!/bin/sh | |||
# ipvsadm-save - Save IPVS rules | |||
# | |||
# A very simple wrapper to save IPVS rules | |||
@@ -12,6 +12,8 @@ | |||
# | |||
# ChangeLog | |||
# | |||
+# M. Mozzarelli : Amended to use /bin/sh for compatibility | |||
+# : with embedded systems using busybox | |||
# Wensong Zhang : Added the "-n" option and the help() | |||
# | |||