net/ipvsadm: add Virtual Server Administration Tool
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>
This commit is contained in:
parent
a3e495e367
commit
79c5c78115
3 changed files with 149 additions and 0 deletions
61
net/ipvsadm/Makefile
Normal file
61
net/ipvsadm/Makefile
Normal file
|
@ -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))
|
54
net/ipvsadm/patches/001-Makefile.patch
Normal file
54
net/ipvsadm/patches/001-Makefile.patch
Normal file
|
@ -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 \
|
34
net/ipvsadm/patches/002-save-restore.patch
Normal file
34
net/ipvsadm/patches/002-save-restore.patch
Normal file
|
@ -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()
|
||||||
|
#
|
||||||
|
|
Loading…
Reference in a new issue