iproute2: upgrade to 3.9.0

SVN-Revision: 36638
This commit is contained in:
Luka Perkov 2013-05-14 23:49:34 +00:00
parent 5be36cbe83
commit 580481cd6d
11 changed files with 50 additions and 120 deletions

View File

@ -1,5 +1,5 @@
#
# Copyright (C) 2006-2010 OpenWrt.org
# Copyright (C) 2006-2013 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=iproute2
PKG_VERSION:=3.7.0
PKG_RELEASE:=2
PKG_VERSION:=3.9.0
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=http://kernel.org/pub/linux/utils/net/iproute2/
PKG_MD5SUM:=47040899f8fa30c8721fc5aec6509b44
PKG_MD5SUM:=b53376db94c8d66f9d540c69ed84f13b
PKG_BUILD_PARALLEL:=1
PKG_BUILD_DIR:=$(BUILD_DIR)/iproute2-$(PKG_VERSION)

View File

@ -1,36 +0,0 @@
--- a/include/linux/pkt_sched.h
+++ b/include/linux/pkt_sched.h
@@ -214,6 +214,33 @@ struct tc_sfq_xstats {
__s32 allot;
};
+/* ESFQ section */
+
+enum
+{
+ /* traditional */
+ TCA_SFQ_HASH_CLASSIC,
+ TCA_SFQ_HASH_DST,
+ TCA_SFQ_HASH_SRC,
+ TCA_SFQ_HASH_FWMARK,
+ /* conntrack */
+ TCA_SFQ_HASH_CTORIGDST,
+ TCA_SFQ_HASH_CTORIGSRC,
+ TCA_SFQ_HASH_CTREPLDST,
+ TCA_SFQ_HASH_CTREPLSRC,
+ TCA_SFQ_HASH_CTNATCHG,
+};
+
+struct tc_esfq_qopt
+{
+ unsigned quantum; /* Bytes per round allocated to flow */
+ int perturb_period; /* Period of hash perturbation */
+ __u32 limit; /* Maximal packets in queue */
+ unsigned divisor; /* Hash divisor */
+ unsigned flows; /* Maximal number of flows */
+ unsigned hash_kind; /* Hash function to use for flow identification */
+};
+
/* RED section */
enum {

View File

@ -1,10 +1,6 @@
---
ip/ipxfrm.c | 2 --
1 file changed, 2 deletions(-)
--- a/ip/ipxfrm.c
+++ b/ip/ipxfrm.c
@@ -468,7 +468,6 @@ void xfrm_selector_print(struct xfrm_sel
@@ -470,7 +470,6 @@ void xfrm_selector_print(struct xfrm_sel
switch (sel->proto) {
case IPPROTO_TCP:
case IPPROTO_UDP:
@ -12,7 +8,7 @@
case IPPROTO_DCCP:
default: /* XXX */
if (sel->sport_mask)
@@ -1263,7 +1262,6 @@ static int xfrm_selector_upspec_parse(st
@@ -1273,7 +1272,6 @@ static int xfrm_selector_upspec_parse(st
switch (sel->proto) {
case IPPROTO_TCP:
case IPPROTO_UDP:

View File

@ -1,6 +1,6 @@
--- a/Makefile
+++ b/Makefile
@@ -34,7 +34,7 @@ WFLAGS = -Wall -Wstrict-prototypes
@@ -36,7 +36,7 @@ WFLAGS += -Wmissing-declarations -Wold-s
CFLAGS = $(WFLAGS) $(CCOPTS) -I../include $(DEFINES)
YACCFLAGS = -d -t -v

View File

@ -1,7 +1,3 @@
---
tc/q_fifo.c | 1 +
1 file changed, 1 insertion(+)
--- a/tc/q_fifo.c
+++ b/tc/q_fifo.c
@@ -98,5 +98,6 @@ struct qdisc_util pfifo_head_drop_qdisc_

View File

@ -6,6 +6,6 @@
DEFINES += -D_GNU_SOURCE
-CCOPTS = -O2
+CCOPTS = -O2 $(EXTRA_CCOPTS)
WFLAGS = -Wall -Wstrict-prototypes
CFLAGS = $(WFLAGS) $(CCOPTS) -I../include $(DEFINES)
YACCFLAGS = -d -t -v
WFLAGS := -Wall -Wstrict-prototypes -Werror -Wmissing-prototypes
WFLAGS += -Wmissing-declarations -Wold-style-definition

View File

@ -1,8 +1,10 @@
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -1,4 +1,4 @@
@@ -1,6 +1,6 @@
include ../Config
-CFLAGS += -fPIC
+CFLAGS+=$(FPIC)
+CFLAGS += $(FPIC)
UTILOBJ=utils.o rt_names.o ll_types.o ll_proto.o ll_addr.o inet_proto.o

View File

@ -1,9 +1,3 @@
---
include/linux/pkt_sched.h | 59 +++++++++++++
tc/Makefile | 1
tc/q_esfq.c | 200 ++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 260 insertions(+)
--- a/tc/Makefile
+++ b/tc/Makefile
@@ -8,6 +8,7 @@ SHARED_LIBS ?= y
@ -14,6 +8,42 @@
TCMODULES += q_red.o
TCMODULES += q_prio.o
TCMODULES += q_tbf.o
--- a/include/linux/pkt_sched.h
+++ b/include/linux/pkt_sched.h
@@ -214,6 +214,33 @@ struct tc_sfq_xstats {
__s32 allot;
};
+/* ESFQ section */
+
+enum
+{
+ /* traditional */
+ TCA_SFQ_HASH_CLASSIC,
+ TCA_SFQ_HASH_DST,
+ TCA_SFQ_HASH_SRC,
+ TCA_SFQ_HASH_FWMARK,
+ /* conntrack */
+ TCA_SFQ_HASH_CTORIGDST,
+ TCA_SFQ_HASH_CTORIGSRC,
+ TCA_SFQ_HASH_CTREPLDST,
+ TCA_SFQ_HASH_CTREPLSRC,
+ TCA_SFQ_HASH_CTNATCHG,
+};
+
+struct tc_esfq_qopt
+{
+ unsigned quantum; /* Bytes per round allocated to flow */
+ int perturb_period; /* Period of hash perturbation */
+ __u32 limit; /* Maximal packets in queue */
+ unsigned divisor; /* Hash divisor */
+ unsigned flows; /* Maximal number of flows */
+ unsigned hash_kind; /* Hash function to use for flow identification */
+};
+
/* RED section */
enum {
--- /dev/null
+++ b/tc/q_esfq.c
@@ -0,0 +1,200 @@

View File

@ -1,58 +0,0 @@
From 11e8a1034656eba6571401286b99dabbd9842dac Mon Sep 17 00:00:00 2001
From: Jan Engelhardt <jengelh@inai.de>
Date: Tue, 18 Dec 2012 09:18:45 -0800
Subject: [PATCH] build: unbreak linakge of m_xt.so
Commit v3.7.0~10 caused the variable new PKG_CONFIG variable never
to be present at the time of calling make, leading to tc/m_xt.so
not linked with -lxtables (result from pkg-config xtables --libs),
that in turn leading to
tc: symbol lookup error: /usr/lib64/tc//m_xt.so: undefined symbol:
xtables_init_all
Fixing that.
Signed-off-by: Jan Engelhardt <jengelh@inai.de>
Conflicts:
configure
---
configure | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
--- a/configure
+++ b/configure
@@ -2,14 +2,20 @@
# This is not an autconf generated configure
#
INCLUDE=${1:-"$PWD/include"}
-: ${PKG_CONFIG:=pkg-config}
-: ${CC=gcc}
-echo "PKG_CONFIG:=${PKG_CONFIG}" >>Config
# Make a temp directory in build tree.
TMPDIR=$(mktemp -d config.XXXXXX)
trap 'status=$?; rm -rf $TMPDIR; exit $status' EXIT HUP INT QUIT TERM
+check_toolchain()
+{
+: ${PKG_CONFIG:=pkg-config}
+: ${AR=ar}
+: ${CC=gcc}
+echo "AR:=${AR}" >>Config
+echo "CC:=${CC}" >>Config
+}
+
check_atm()
{
cat >$TMPDIR/atmtest.c <<EOF
@@ -224,6 +230,8 @@ rm -f $TMPDIR/ipsettest.c $TMPDIR/ipsett
}
echo "# Generated config based on" $INCLUDE >Config
+echo "PKG_CONFIG:=${PKG_CONFIG}" >>Config
+check_toolchain
echo "TC schedulers"