mirror of https://github.com/openwrt/packages.git
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>pull/7159/head
parent
a3e495e367
commit
79c5c78115
|
@ -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()
|
||||
#
|
||||
|
Loading…
Reference in New Issue