Dear congatec git server users, we are currently restructuring the ARM-NXP namespace. Some repositories are moved to a different location. The restructuring will be completed next Monday at the latest. We strongly recommend that you update the repositories after the restructuring. We apologize for the inconvenience.

Best regards, congatec ARM software team

Commit 71cf5771 authored by Jianchuan Wang's avatar Jianchuan Wang Committed by Joe MacDonald

ipvsadm: Add version 1.26 (initial recipe)

* add ipvs administration tool
Signed-off-by: default avatarJianchuan Wang <jianchuan.wang@windriver.com>
Signed-off-by: default avatarMartin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: default avatarJoe MacDonald <joe_macdonald@mentor.com>
parent f640eca1
From 58292175115bae7a4c3600d3022e59ea57213025 Mon Sep 17 00:00:00 2001
From: Jianchuan Wang <jianchuan.wang@windriver.com>
Date: Mon, 12 Jan 2015 15:53:23 +0800
Subject: [PATCH] Modify the Makefile for cross compile.
Upstream-Status: Inappropriate [embedded specific]
Signed-off-by: Jianchuan Wang <jianchuan.wang@windriver.com>
---
Makefile | 23 ++++++-----------------
libipvs/Makefile | 3 +--
2 files changed, 7 insertions(+), 19 deletions(-)
diff --git a/Makefile b/Makefile
index e4e03cc..461c021 100644
--- a/Makefile
+++ b/Makefile
@@ -35,10 +35,9 @@ ARCH = $(shell uname -m)
RPMSOURCEDIR = $(shell rpm --eval '%_sourcedir')
RPMSPECDIR = $(shell rpm --eval '%_specdir')
-CC = gcc
INCLUDE =
SBIN = $(BUILD_ROOT)/sbin
-MANDIR = usr/man
+MANDIR = usr/share/man
MAN = $(BUILD_ROOT)/$(MANDIR)/man8
INIT = $(BUILD_ROOT)/etc/rc.d/init.d
MKDIR = mkdir
@@ -62,17 +61,7 @@ RPMBUILD = $(shell \
echo "/bin/rpm"; \
fi )
-ifeq (,$(FORCE_GETOPT))
-LIB_SEARCH = /lib64 /usr/lib64 /usr/local/lib64 /lib /usr/lib /usr/local/lib
-POPT_LIB = $(shell for i in $(LIB_SEARCH); do \
- if [ -f $$i/libpopt.a ]; then \
- if nm $$i/libpopt.a | fgrep -q poptGetContext; then \
- echo "-lpopt"; \
- break; \
- fi; \
- fi; \
-done)
-endif
+POPT_LIB = -lpopt
ifneq (,$(POPT_LIB))
POPT_DEFINE = -DHAVE_POPT
@@ -81,7 +70,7 @@ endif
OBJS = ipvsadm.o config_stream.o dynamic_array.o
LIBS = $(POPT_LIB)
ifneq (0,$(HAVE_NL))
-LIBS += -lnl
+LIBS += -lnl-3 -lnl-genl-3
endif
DEFINES = -DVERSION=\"$(VERSION)\" -DSCHEDULERS=\"$(SCHEDULERS)\" \
-DPE_LIST=\"$(PE_LIST)\" $(POPT_DEFINE)
@@ -91,13 +80,13 @@ DEFINES += $(shell if [ ! -f ../ip_vs.h ]; then \
.PHONY = all clean install dist distclean rpm rpms
-all: libs ipvsadm
+all: ipvsadm
libs:
make -C libipvs
-ipvsadm: $(OBJS) $(STATIC_LIBS)
- $(CC) $(CFLAGS) -o $@ $^ $(LIBS)
+ipvsadm: $(OBJS) libs
+ $(CC) $(CFLAGS) -o $@ $(OBJS) $(STATIC_LIBS) $(LIBS)
install: all
if [ ! -d $(SBIN) ]; then $(MKDIR) -p $(SBIN); fi
diff --git a/libipvs/Makefile b/libipvs/Makefile
index a527a7f..b7300ec 100644
--- a/libipvs/Makefile
+++ b/libipvs/Makefile
@@ -1,6 +1,5 @@
# Makefile for libipvs
-CC = gcc
CFLAGS = -Wall -Wunused -Wstrict-prototypes -g -fPIC
ifneq (0,$(HAVE_NL))
CFLAGS += -DLIBIPVS_USE_NL
@@ -18,7 +17,7 @@ SHARED_LIB = libipvs.so
all: $(STATIC_LIB) $(SHARED_LIB)
$(STATIC_LIB): libipvs.o ip_vs_nl_policy.o
- ar rv $@ $^
+ $(AR) rv $@ $^
$(SHARED_LIB): libipvs.o ip_vs_nl_policy.o
$(CC) -shared -Wl,-soname,$@ -o $@ $^
--
1.9.1
From 2686213259b15df9cf1d969c5a14d62f14cfbaae Mon Sep 17 00:00:00 2001
From: Jianchuan Wang <jianchuan.wang@windriver.com>
Date: Thu, 8 Jan 2015 17:37:11 +0800
Subject: [PATCH 2/2] Replace nl_handle to nl_sock.
The nl_handle was replace with nl_sock in the libnl-3.
Upstream-Status: Inappropriate [embedded specific]
Signed-off-by: Jianchuan Wang <jianchuan.wang@windriver.com>
---
libipvs/libipvs.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/libipvs/libipvs.c b/libipvs/libipvs.c
index a157e18..21a9bfa 100644
--- a/libipvs/libipvs.c
+++ b/libipvs/libipvs.c
@@ -32,7 +32,7 @@ static void* ipvs_func = NULL;
struct ip_vs_getinfo ipvs_info;
#ifdef LIBIPVS_USE_NL
-static struct nl_handle *sock = NULL;
+static struct nl_sock *sock = NULL;
static int family, try_nl = 1;
#endif
@@ -73,7 +73,7 @@ int ipvs_nl_send_message(struct nl_msg *msg, nl_recvmsg_msg_cb_t func, void *arg
{
int err = EINVAL;
- sock = nl_handle_alloc();
+ sock = nl_socket_alloc();
if (!sock) {
nlmsg_free(msg);
return -1;
@@ -88,7 +88,7 @@ int ipvs_nl_send_message(struct nl_msg *msg, nl_recvmsg_msg_cb_t func, void *arg
/* To test connections and set the family */
if (msg == NULL) {
- nl_handle_destroy(sock);
+ nl_socket_free(sock);
sock = NULL;
return 0;
}
@@ -104,12 +104,12 @@ int ipvs_nl_send_message(struct nl_msg *msg, nl_recvmsg_msg_cb_t func, void *arg
nlmsg_free(msg);
- nl_handle_destroy(sock);
+ nl_socket_free(sock);
return 0;
fail_genl:
- nl_handle_destroy(sock);
+ nl_socket_free(sock);
sock = NULL;
nlmsg_free(msg);
errno = err;
--
1.8.3.1
From 2f4cdf70cf92d3a9503d8ff045ba277db40bb4e7 Mon Sep 17 00:00:00 2001
From: Joe MacDonald <joe_macdonald@mentor.com>
Date: Monday, 13 Apr 2015 14:12:37 -0400
Subject: [PATCH] ipvsadm: remove dependency on bash
The save/restore scripts are very simple and don't depend on any BASH
features at all, so switch the interpreter to /bin/sh.
Upstream-Status: Pending
Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
---
ipvsadm-restore | 2 +-
ipvsadm-save | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/ipvsadm-restore b/ipvsadm-restore
index f24e1b3..a9fa8bc 100644
--- 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
diff --git a/ipvsadm-save b/ipvsadm-save
index f4d399e..af51638 100644
--- 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
--
1.9.1
SUMMARY = "Linux Virtual Server administration Utility"
DESCRIPTION = "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. \
The active node of the cluster redirects service requests to a \
collection of server hosts that will actually perform the services. \
Supported features include two protocols (TCP and UDP), three packet-forwarding \
methods (NAT, tunneling, and direct routing), and eight load balancing algorithms \
(round robin, weighted round robin, least-connec-tion, weighted least-connection, \
locality-based least-connection, locality-based least-connection with replication, \
destination-hashing, and source-hashing)."
SECTION = "console/network"
LICENSE = "GPL-2.0"
LIC_FILES_CHKSUM = "file://README;beginline=40;endline=56;md5=a54cba37b64924aa5008881607942892"
DEPENDS += "libnl popt"
SRC_URI = "http://www.linuxvirtualserver.org/software/kernel-2.6/${BP}.tar.gz \
file://0001-Modify-the-Makefile-for-cross-compile.patch \
file://0002-Replace-nl_handle-to-nl_sock.patch \
file://0003-ipvsadm-remove-dependency-on-bash.patch \
"
SRC_URI[md5sum] = "eac3ba3f62cd4dea2da353aeddd353a8"
SRC_URI[sha256sum] = "6d6c46fecb1c532a892616b4445c73b71730e8790d5630f60269fd9cbee0eb2d"
do_compile() {
oe_runmake \
CC="${CC} -I${STAGING_INCDIR} -I${STAGING_INCDIR}/libnl3 -L${STAGING_LIBDIR}" \
all
}
do_install() {
oe_runmake 'BUILD_ROOT=${D}' install
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment