diff --git a/iproute2-2.6.22-070710.tar.bz2 b/iproute2-2.6.22-070710.tar.bz2 deleted file mode 100644 index c7fce25..0000000 --- a/iproute2-2.6.22-070710.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:27630e6f8181cf790e65f40df0b652f3bd078ad8ba2006d202bd1a422a1282e0 -size 334558 diff --git a/iproute2-2.6.22-nostrip.diff b/iproute2-2.6.22-nostrip.diff deleted file mode 100644 index ae97501..0000000 --- a/iproute2-2.6.22-nostrip.diff +++ /dev/null @@ -1,36 +0,0 @@ ---- iproute2-051007/ip/Makefile -+++ iproute2-051007/ip/Makefile -@@ -16,7 +16,7 @@ - rtmon: $(RTMONOBJ) $(LIBNETLINK) - - install: all -- install -m 0755 -s $(TARGETS) $(DESTDIR)$(SBINDIR) -+ install -m 0755 $(TARGETS) $(DESTDIR)$(SBINDIR) - install -m 0755 $(SCRIPTS) $(DESTDIR)$(SBINDIR) - - clean: ---- iproute2-051007/misc/Makefile -+++ iproute2-051007/misc/Makefile -@@ -27,7 +27,7 @@ - lnstat: $(LNSTATOBJ) - - install: all -- install -m 0755 -s $(TARGETS) $(DESTDIR)$(SBINDIR) -+ install -m 0755 $(TARGETS) $(DESTDIR)$(SBINDIR) - ln -sf lnstat $(DESTDIR)$(SBINDIR)/rtstat - ln -sf lnstat $(DESTDIR)$(SBINDIR)/ctstat - ---- iproute2-051007/tc/Makefile -+++ iproute2-051007/tc/Makefile -@@ -70,9 +70,9 @@ - - install: all - mkdir -p $(DESTDIR)/usr/lib/tc -- install -m 0755 -s tc $(DESTDIR)$(SBINDIR) -+ install -m 0755 tc $(DESTDIR)$(SBINDIR) - for i in $(TCSO); \ -- do install -m 755 -s $$i $(DESTDIR)/usr/lib/tc; \ -+ do install -m 755 $$i $(DESTDIR)/usr/lib/tc; \ - done - - clean: diff --git a/iproute2-2.6.22-070710.diff b/iproute2-2.6.23-HZ.diff similarity index 100% rename from iproute2-2.6.22-070710.diff rename to iproute2-2.6.23-HZ.diff diff --git a/iproute2-2.6.22-flushcheckuid.diff b/iproute2-2.6.23-flushcheckuid.diff similarity index 100% rename from iproute2-2.6.22-flushcheckuid.diff rename to iproute2-2.6.23-flushcheckuid.diff diff --git a/iproute2-2.6.22-fragtimeout.diff b/iproute2-2.6.23-fragtimeout.diff similarity index 85% rename from iproute2-2.6.22-fragtimeout.diff rename to iproute2-2.6.23-fragtimeout.diff index bbf9abc..2afd5c1 100644 --- a/iproute2-2.6.22-fragtimeout.diff +++ b/iproute2-2.6.23-fragtimeout.diff @@ -12,58 +12,6 @@ \item \verb|nexthop NEXTHOP| ---- ip/iproute.c -+++ ip/iproute.c 2007/07/12 09:47:17 -@@ -38,6 +38,14 @@ - #define RTAX_RTTVAR RTAX_HOPS - #endif - -+#ifndef RTAX_FRAG_TIMEOUT -+#define RTAX_FRAG_TIMEOUT (RTAX_FEATURES+1) -+#endif -+ -+#if RTAX_MAX < RTAX_FRAG_TIMEOUT -+#undef RTAX_MAX -+#define RTAX_MAX RTAX_FRAG_TIMEOUT -+#endif - - static const char *mx_names[RTAX_MAX+1] = { - [RTAX_MTU] = "mtu", -@@ -51,6 +59,7 @@ - [RTAX_HOPLIMIT] = "hoplimit", - [RTAX_INITCWND] = "initcwnd", - [RTAX_FEATURES] = "features", -+ [RTAX_FRAG_TIMEOUT]="fragtimeout" - }; - static void usage(void) __attribute__((noreturn)); - -@@ -71,9 +80,9 @@ - fprintf(stderr, "INFO_SPEC := NH OPTIONS FLAGS [ nexthop NH ]...\n"); - fprintf(stderr, "NH := [ via ADDRESS ] [ dev STRING ] [ weight NUMBER ] NHFLAGS\n"); - fprintf(stderr, "OPTIONS := FLAGS [ mtu NUMBER ] [ advmss NUMBER ]\n"); -- fprintf(stderr, " [ rtt NUMBER ] [ rttvar NUMBER ]\n"); -+ fprintf(stderr, " [ rtt NUMBER ] [ rttvar NUMBER ] [ fragtimeout seconds]\n"); - fprintf(stderr, " [ window NUMBER] [ cwnd NUMBER ] [ initcwnd NUMBER ]\n"); -- fprintf(stderr, " [ ssthresh NUMBER ] [ realms REALM ]\n"); -+ fprintf(stderr, " [ ssthresh NUMBER ] [ reordering NUMBER] [ realms REALM ]\n"); - fprintf(stderr, "TYPE := [ unicast | local | broadcast | multicast | throw |\n"); - fprintf(stderr, " unreachable | prohibit | blackhole | nat ]\n"); - fprintf(stderr, "TABLE_ID := [ local | main | default | all | NUMBER ]\n"); -@@ -789,6 +798,14 @@ - invarg("\"reordering\" value is invalid\n", *argv); - rta_addattr32(mxrta, sizeof(mxbuf), RTAX_REORDERING, reord); - #endif -+#ifdef RTAX_FRAG_TIMEOUT -+ } else if (strcmp(*argv, "fragtimeout") == 0) { -+ unsigned timeout; -+ NEXT_ARG(); -+ if (get_unsigned(&timeout, *argv, 0)) -+ invarg("\"timeout\" value is invalid\n", *argv); -+ rta_addattr32(mxrta, sizeof(mxbuf), RTAX_FRAG_TIMEOUT, timeout); -+#endif - } else if (strcmp(*argv, "rtt") == 0) { - unsigned rtt; - NEXT_ARG(); --- man/man8/ip.8 +++ man/man8/ip.8 2007/07/12 09:26:54 @@ -1095,6 +1095,14 @@ @@ -81,3 +29,55 @@ .BI nexthop " NEXTHOP" the nexthop of a multipath route. .I NEXTHOP +--- ip/iproute.c 2007-10-16 23:27:42.000000000 +0200 ++++ ip/iproute.c 2007-10-25 11:14:18.000000000 +0200 +@@ -37,6 +37,14 @@ + #define RTAX_RTTVAR RTAX_HOPS + #endif + ++#ifndef RTAX_FRAG_TIMEOUT ++#define RTAX_FRAG_TIMEOUT (RTAX_FEATURES+1) ++#endif ++ ++#if RTAX_MAX < RTAX_FRAG_TIMEOUT ++#undef RTAX_MAX ++#define RTAX_MAX RTAX_FRAG_TIMEOUT ++#endif + + static const char *mx_names[RTAX_MAX+1] = { + [RTAX_MTU] = "mtu", +@@ -51,6 +59,7 @@ + [RTAX_INITCWND] = "initcwnd", + [RTAX_FEATURES] = "features", + [RTAX_RTO_MIN] = "rto_min", ++ [RTAX_FRAG_TIMEOUT]="fragtimeout" + }; + static void usage(void) __attribute__((noreturn)); + +@@ -70,9 +79,9 @@ + fprintf(stderr, "INFO_SPEC := NH OPTIONS FLAGS [ nexthop NH ]...\n"); + fprintf(stderr, "NH := [ via ADDRESS ] [ dev STRING ] [ weight NUMBER ] NHFLAGS\n"); + fprintf(stderr, "OPTIONS := FLAGS [ mtu NUMBER ] [ advmss NUMBER ]\n"); +- fprintf(stderr, " [ rtt TIME ] [ rttvar TIME ]\n"); ++ fprintf(stderr, " [ rtt TIME ] [ rttvar TIME ] [ fragtimeout seconds ]\n"); + fprintf(stderr, " [ window NUMBER] [ cwnd NUMBER ] [ initcwnd NUMBER ]\n"); +- fprintf(stderr, " [ ssthresh NUMBER ] [ realms REALM ]\n"); ++ fprintf(stderr, " [ ssthresh NUMBER ] [ reordering NUMBER ] [ realms REALM ]\n"); + fprintf(stderr, " [ rto_min TIME ]\n"); + fprintf(stderr, "TYPE := [ unicast | local | broadcast | multicast | throw |\n"); + fprintf(stderr, " unreachable | prohibit | blackhole | nat ]\n"); +@@ -780,6 +789,14 @@ + invarg("\"reordering\" value is invalid\n", *argv); + rta_addattr32(mxrta, sizeof(mxbuf), RTAX_REORDERING, reord); + #endif ++#ifdef RTAX_FRAG_TIMEOUT ++ } else if (strcmp(*argv, "fragtimeout") == 0) { ++ unsigned timeout; ++ NEXT_ARG(); ++ if (get_unsigned(&timeout, *argv, 0)) ++ invarg("\"timeout\" value is invalid\n", *argv); ++ rta_addattr32(mxrta, sizeof(mxbuf), RTAX_FRAG_TIMEOUT, timeout); ++#endif + } else if (strcmp(*argv, "rtt") == 0) { + unsigned rtt; + NEXT_ARG(); diff --git a/iproute2-2.6.23-libdir-1.diff b/iproute2-2.6.23-libdir-1.diff new file mode 100644 index 0000000..97f32b8 --- /dev/null +++ b/iproute2-2.6.23-libdir-1.diff @@ -0,0 +1,90 @@ +--- include/iptables.h 2007-07-10 18:34:14.000000000 -0700 ++++ include/iptables.h 2007-09-02 08:29:41.000000000 -0700 +@@ -5,7 +5,7 @@ + #include "libiptc/libiptc.h" + + #ifndef IPT_LIB_DIR +-#define IPT_LIB_DIR "/usr/local/lib/iptables" ++#define IPT_LIB_DIR LIBDIR + #endif + + #ifndef IPPROTO_SCTP +--- Makefile 2007-07-10 18:34:14.000000000 -0700 ++++ Makefile 2007-09-02 08:38:27.000000000 -0700 +@@ -1,5 +1,7 @@ + DESTDIR= + SBINDIR=/usr/sbin ++LIBDIR=/usr/lib ++VARLIB=/var/lib + CONFDIR=/etc/iproute2 + DOCDIR=/usr/share/doc/iproute2 + MANDIR=/usr/share/man +@@ -22,7 +24,7 @@ + CC = gcc + HOSTCC = gcc + CCOPTS = -D_GNU_SOURCE -O2 -Wstrict-prototypes -Wall +-CFLAGS = $(CCOPTS) -I../include $(DEFINES) ++CFLAGS = -DLIBDIR=\"$(LIBDIR)\" -DVARLIB=\"$(VARLIB)\" $(CCOPTS) -I../include $(DEFINES) + YACCFLAGS = -d -t -v + + LDLIBS += -L../lib -lnetlink -lutil +--- misc/arpd.c 2007-07-10 18:34:14.000000000 -0700 ++++ misc/arpd.c 2007-09-02 08:38:08.000000000 -0700 +@@ -40,7 +40,7 @@ + int resolve_hosts; + + DB *dbase; +-char *dbname = "/var/lib/arpd/arpd.db"; ++char *dbname = VARLIB "/arpd/arpd.db"; + + int ifnum; + int *ifvec; +--- netem/Makefile 2007-07-10 18:34:14.000000000 -0700 ++++ netem/Makefile 2007-09-02 08:29:41.000000000 -0700 +@@ -4,6 +4,8 @@ + HOSTCC ?= $(CC) + LDLIBS += -lm + ++LIBDIR = /usr/lib ++ + all: $(DISTGEN) $(DISTDATA) + + $(DISTGEN): +@@ -19,9 +21,9 @@ + $(HOSTCC) $(CCOPTS) -I../include -o $@ $@.c -lm + + install: all +- mkdir -p $(DESTDIR)/usr/lib/tc ++ mkdir -p $(DESTDIR)/$(LIBDIR)/tc + for i in $(DISTDATA); \ +- do install -m 755 $$i $(DESTDIR)/usr/lib/tc; \ ++ do install -m 755 $$i $(DESTDIR)/$(LIBDIR)/tc; \ + done + + clean: +--- tc/Makefile 2007-07-10 18:34:14.000000000 -0700 ++++ tc/Makefile 2007-09-02 08:29:41.000000000 -0700 +@@ -69,10 +69,10 @@ + $(AR) rcs $@ $(TCLIB) + + install: all +- mkdir -p $(DESTDIR)/usr/lib/tc ++ mkdir -p $(DESTDIR)/$(LIBDIR)/tc + install -m 0755 -s tc $(DESTDIR)$(SBINDIR) + for i in $(TCSO); \ +- do install -m 755 -s $$i $(DESTDIR)/usr/lib/tc; \ ++ do install -m 755 -s $$i $(DESTDIR)/$(LIBDIR)/tc; \ + done + + clean: +--- tc/tc_util.c 2007-07-10 18:34:14.000000000 -0700 ++++ tc/tc_util.c 2007-09-02 08:33:48.000000000 -0700 +@@ -30,7 +30,7 @@ + + lib_dir = getenv("TC_LIB_DIR"); + if (!lib_dir) +- lib_dir = "/usr/lib/tc"; ++ lib_dir = LIBDIR "/tc"; + + return lib_dir; + } diff --git a/iproute2-2.6.22-pdfdoc.diff b/iproute2-2.6.23-pdfdoc.diff similarity index 100% rename from iproute2-2.6.22-pdfdoc.diff rename to iproute2-2.6.23-pdfdoc.diff diff --git a/iproute2-resolve-address.diff b/iproute2-2.6.23-resolve-address.diff similarity index 100% rename from iproute2-resolve-address.diff rename to iproute2-2.6.23-resolve-address.diff diff --git a/iproute2-tc-flex-fixes.diff b/iproute2-2.6.23-tc-flex-fixes.diff similarity index 100% rename from iproute2-tc-flex-fixes.diff rename to iproute2-2.6.23-tc-flex-fixes.diff diff --git a/iproute2-2.6.23.tar.bz2 b/iproute2-2.6.23.tar.bz2 new file mode 100644 index 0000000..3db18ac --- /dev/null +++ b/iproute2-2.6.23.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f19ed724484df3cb5de766b9bc67374f191d3f15a228b0a5605ef4c57a462fb8 +size 342323 diff --git a/iproute2.changes b/iproute2.changes index 0d62156..ce03cbf 100644 --- a/iproute2.changes +++ b/iproute2.changes @@ -1,3 +1,30 @@ +------------------------------------------------------------------- +Thu Oct 25 11:19:35 CEST 2007 - ms@suse.de + +- update to version 2.6.23, fixed (#336488) + Reason for update: + * The macvlan module, which got added to the kernel in version + 2.6.23, needs the new "ip link add" feature + These patches add a rewritten version of Ben's macvlan driver, which + allows to create virtual ethernet devices. The underlying device is + put in promiscous mode and packets are demuxed based on MAC address. + It behaves similar to bridge devices in that packets are visible on + the real device before delivery to the macvlan driver. The driver + supports all features of the underlying device except VLAN + acceleration, this is currently very hard to support. I might look + into this in the future. + + The main downside of this driver is that it adds another hook in + netif_receive_skb, unfortunately that is unavoidable. When not + compiled in the hook vanishes of course. + + Usage is simple: + + ip link add link eth0 type macvlan + + Will create a macvlan0 device with a random MAC address on top of + eth0. No iproute patches are required. + ------------------------------------------------------------------- Tue Oct 16 11:52:34 CEST 2007 - jdelvare@suse.de diff --git a/iproute2.spec b/iproute2.spec index 3887635..f444d35 100644 --- a/iproute2.spec +++ b/iproute2.spec @@ -1,5 +1,5 @@ # -# spec file for package iproute2 (Version 2.6.22) +# spec file for package iproute2 (Version 2.6.23) # # Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine @@ -12,23 +12,22 @@ Name: iproute2 BuildRequires: bison db-devel flex ghostscript-fonts-std ghostscript-x11 glib libpng-devel libtiff-devel sgmltool texlive-latex xorg-x11-devel -%define dateversion 070710 License: GPL v2 or later Group: Productivity/Networking/Routing Provides: iproute AutoReqProv: on -Version: 2.6.22 -Release: 37 +Version: 2.6.23 +Release: 1 Summary: Advanced Routing Url: http://developer.osdl.org/dev/iproute2/ -Source0: %name-%version-%dateversion.tar.bz2 -Patch0: %name-2.6.22-pdfdoc.diff -Patch1: %name-2.6.22-flushcheckuid.diff -Patch2: %name-2.6.22-fragtimeout.diff -Patch3: %name-2.6.22-nostrip.diff -Patch4: %name-tc-flex-fixes.diff -Patch5: %name-resolve-address.diff -Patch6: %name-2.6.22-070710.diff +Source0: %name-%version.tar.bz2 +Patch0: %name-2.6.23-libdir-1.diff +Patch1: %name-2.6.23-HZ.diff +Patch2: %name-2.6.23-pdfdoc.diff +Patch3: %name-2.6.23-tc-flex-fixes.diff +Patch4: %name-2.6.23-resolve-address.diff +Patch5: %name-2.6.23-fragtimeout.diff +Patch6: %name-2.6.23-flushcheckuid.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build %package -n libnlink @@ -55,11 +54,11 @@ Authors: Stephem Hemminger %prep -%setup -q -n %name-%version-%dateversion +%setup -q -n %name-%version %patch %patch1 %patch2 -%patch3 -p1 +%patch3 %patch4 %patch5 %patch6 @@ -109,6 +108,26 @@ rm -rf $RPM_BUILD_ROOT %_mandir/man3/libnetlink* %_libdir/lib* %changelog +* Thu Oct 25 2007 - ms@suse.de +- update to version 2.6.23, fixed (#336488) + Reason for update: + * The macvlan module, which got added to the kernel in version + 2.6.23, needs the new "ip link add" feature + These patches add a rewritten version of Ben's macvlan driver, which + allows to create virtual ethernet devices. The underlying device is + put in promiscous mode and packets are demuxed based on MAC address. + It behaves similar to bridge devices in that packets are visible on + the real device before delivery to the macvlan driver. The driver + supports all features of the underlying device except VLAN + acceleration, this is currently very hard to support. I might look + into this in the future. + The main downside of this driver is that it adds another hook in + netif_receive_skb, unfortunately that is unavoidable. When not + compiled in the hook vanishes of course. + Usage is simple: + ip link add link eth0 type macvlan + Will create a macvlan0 device with a random MAC address on top of + eth0. No iproute patches are required. * Tue Oct 16 2007 - jdelvare@suse.de - libnetlink.3 is now part of the upstream package, no need to include our own copy.