- update
This commit is contained in:
parent
2ebcdaf44d
commit
e8a58a12b6
@ -1 +1 @@
|
|||||||
iproute2-2.6.31.tar.bz2
|
iproute2-2.6.33.tar.bz2
|
||||||
|
17
iproute.spec
17
iproute.spec
@ -1,15 +1,13 @@
|
|||||||
#%define date_version 20091106
|
#%define date_version 20091106
|
||||||
%define cbq_version v0.7.3
|
%define cbq_version v0.7.3
|
||||||
%define up_version 2.6.31
|
|
||||||
|
|
||||||
Summary: Advanced IP routing and network device configuration tools
|
Summary: Advanced IP routing and network device configuration tools
|
||||||
Name: iproute
|
Name: iproute
|
||||||
Version: 2.6.32
|
Version: 2.6.33
|
||||||
Release: 2%{?dist}
|
Release: 1%{?dist}
|
||||||
Group: Applications/System
|
Group: Applications/System
|
||||||
##Source: iproute2-%{date_version}.tar.bz2
|
##Source: iproute2-%{date_version}.tar.bz2
|
||||||
# mistake in number of release it's really 2.6.32 but upstream released it as 2.6.31.tar
|
Source: http://developer.osdl.org/dev/iproute2/download/iproute2-%{version}.tar.bz2
|
||||||
Source: http://developer.osdl.org/dev/iproute2/download/iproute2-%{up_version}.tar.bz2
|
|
||||||
URL: http://linux-net.osdl.org/index.php/Iproute2
|
URL: http://linux-net.osdl.org/index.php/Iproute2
|
||||||
Patch0: man-pages.patch
|
Patch0: man-pages.patch
|
||||||
Patch1: iproute2-2.6.29-kernel.patch
|
Patch1: iproute2-2.6.29-kernel.patch
|
||||||
@ -19,8 +17,6 @@ Patch4: iproute2-sharepath.patch
|
|||||||
Patch5: iproute2-2.6.31-tc_modules.patch
|
Patch5: iproute2-2.6.31-tc_modules.patch
|
||||||
Patch6: iproute2-2.6.29-IPPROTO_IP_for_SA.patch
|
Patch6: iproute2-2.6.29-IPPROTO_IP_for_SA.patch
|
||||||
Patch7: iproute2-example-cbq-service.patch
|
Patch7: iproute2-example-cbq-service.patch
|
||||||
Patch8: iproute2-2.6.32-macvlan.patch
|
|
||||||
Patch9: iproute2-2.6.33-kernel-headers.patch
|
|
||||||
|
|
||||||
License: GPLv2+ and Public Domain
|
License: GPLv2+ and Public Domain
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||||
@ -43,7 +39,7 @@ License: GPLv2+
|
|||||||
The iproute documentation contains howtos and examples of settings.
|
The iproute documentation contains howtos and examples of settings.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n iproute2-%{up_version}
|
%setup -q -n iproute2-%{version}
|
||||||
%patch0 -p1
|
%patch0 -p1
|
||||||
%patch1 -p1 -b .kernel
|
%patch1 -p1 -b .kernel
|
||||||
%patch2 -p1 -b .opt_flags
|
%patch2 -p1 -b .opt_flags
|
||||||
@ -52,8 +48,6 @@ The iproute documentation contains howtos and examples of settings.
|
|||||||
%patch5 -p1 -b .ipt
|
%patch5 -p1 -b .ipt
|
||||||
%patch6 -p1 -b .ipproto
|
%patch6 -p1 -b .ipproto
|
||||||
%patch7 -p1 -b .fix_cbq
|
%patch7 -p1 -b .fix_cbq
|
||||||
%patch8 -p1 -b .macvlan
|
|
||||||
%patch9 -p1 -b .headers
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
export LIBDIR=/%{_libdir}
|
export LIBDIR=/%{_libdir}
|
||||||
@ -132,6 +126,9 @@ EOF
|
|||||||
%doc RELNOTES
|
%doc RELNOTES
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Feb 25 2010 Marcela Mašláňová <mmaslano@redhat.com> - 2.6.33-1
|
||||||
|
- update
|
||||||
|
|
||||||
* Tue Jan 26 2010 Marcela Mašláňová <mmaslano@redhat.com> - 2.6.32-2
|
* Tue Jan 26 2010 Marcela Mašláňová <mmaslano@redhat.com> - 2.6.32-2
|
||||||
- add macvlan aka VESA support d63a9b2b1e4e3eab0d0577d0a0f412d50be1e0a7
|
- add macvlan aka VESA support d63a9b2b1e4e3eab0d0577d0a0f412d50be1e0a7
|
||||||
- kernel headers 2.6.33 ab322673298bd0b8927cdd9d11f3d36af5941b93
|
- kernel headers 2.6.33 ab322673298bd0b8927cdd9d11f3d36af5941b93
|
||||||
|
@ -1,12 +0,0 @@
|
|||||||
diff -up iproute2-20091009/Makefile.ipt iproute2-20091009/Makefile
|
|
||||||
--- iproute2-20091009/Makefile.ipt 2009-10-09 13:29:27.137385281 +0200
|
|
||||||
+++ iproute2-20091009/Makefile 2009-10-09 13:32:14.251632048 +0200
|
|
||||||
@@ -11,7 +11,7 @@ KERNEL_INCLUDE=/usr/include
|
|
||||||
# Path to db_185.h include
|
|
||||||
DBM_INCLUDE:=$(ROOTDIR)/usr/include
|
|
||||||
|
|
||||||
-DEFINES= -DRESOLVE_HOSTNAMES -DLIBDIR=\"$(LIBDIR)\"
|
|
||||||
+DEFINES= -DRESOLVE_HOSTNAMES -DLIBDIR=\"$(LIBDIR)\" -DIPT_LIB_DIR=\"$(IPT_LIB_DIR)\"
|
|
||||||
|
|
||||||
#options if you have a bind>=4.9.4 libresolv (or, maybe, glibc)
|
|
||||||
LDLIBS=-lresolv
|
|
@ -1,158 +0,0 @@
|
|||||||
From d63a9b2b1e4e3eab0d0577d0a0f412d50be1e0a7 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Arnd Bergmann <arnd@arndb.de>
|
|
||||||
Date: Sat, 26 Dec 2009 11:22:57 -0800
|
|
||||||
Subject: [PATCH] iproute2/iplink: add macvlan options for bridge mode
|
|
||||||
|
|
||||||
Macvlan can now optionally support forwarding between its
|
|
||||||
ports, if they are in "bridge" mode. This adds support
|
|
||||||
for this option to "ip link add", "ip link set" and "ip
|
|
||||||
-d link show".
|
|
||||||
|
|
||||||
The default mode in the kernel is now "vepa" mode, meaning
|
|
||||||
"virtual ethernet port aggregator". This mode is used
|
|
||||||
together with the "hairpin" mode of an ethernet bridge
|
|
||||||
that the parent of the macvlan device is connected to.
|
|
||||||
All frames still get sent out to the external interface,
|
|
||||||
but the adjacent bridge is able to send them back on
|
|
||||||
the same wire in hairpin mode, so the macvlan ports
|
|
||||||
are able to see each other, which the bridge can be
|
|
||||||
configured to monitor and control traffic between
|
|
||||||
all macvlan instances. Multicast traffic coming in
|
|
||||||
from the external interface is checked for the source
|
|
||||||
MAC address and only delivered to ports that have not
|
|
||||||
yet seen it.
|
|
||||||
|
|
||||||
In bridge mode, macvlan will send all multicast traffic
|
|
||||||
to other interfaces that are also in bridge mode but
|
|
||||||
not to those in vepa mode, which get them on the way
|
|
||||||
back from the hairpin.
|
|
||||||
|
|
||||||
The third supported mode is "private", which prevents
|
|
||||||
communication between macvlans even if the adjacent
|
|
||||||
bridge is in hairpin mode. This behavior is closer to
|
|
||||||
the original implementation of macvlan but stricly
|
|
||||||
maintains isolation.
|
|
||||||
|
|
||||||
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
|
|
||||||
---
|
|
||||||
ip/Makefile | 3 +-
|
|
||||||
ip/iplink_macvlan.c | 93 +++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
||||||
2 files changed, 95 insertions(+), 1 deletions(-)
|
|
||||||
create mode 100644 ip/iplink_macvlan.c
|
|
||||||
|
|
||||||
diff --git a/ip/Makefile b/ip/Makefile
|
|
||||||
index 51914e8..46a9836 100644
|
|
||||||
--- a/ip/Makefile
|
|
||||||
+++ b/ip/Makefile
|
|
||||||
@@ -2,7 +2,8 @@ IPOBJ=ip.o ipaddress.o ipaddrlabel.o iproute.o iprule.o \
|
|
||||||
rtm_map.o iptunnel.o ip6tunnel.o tunnel.o ipneigh.o ipntable.o iplink.o \
|
|
||||||
ipmaddr.o ipmonitor.o ipmroute.o ipprefix.o \
|
|
||||||
ipxfrm.o xfrm_state.o xfrm_policy.o xfrm_monitor.o \
|
|
||||||
- iplink_vlan.o link_veth.o link_gre.o iplink_can.o
|
|
||||||
+ iplink_vlan.o link_veth.o link_gre.o iplink_can.o \
|
|
||||||
+ iplink_macvlan.o
|
|
||||||
|
|
||||||
RTMONOBJ=rtmon.o
|
|
||||||
|
|
||||||
diff --git a/ip/iplink_macvlan.c b/ip/iplink_macvlan.c
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..a3c78bd
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/ip/iplink_macvlan.c
|
|
||||||
@@ -0,0 +1,93 @@
|
|
||||||
+/*
|
|
||||||
+ * iplink_vlan.c VLAN device support
|
|
||||||
+ *
|
|
||||||
+ * This program is free software; you can redistribute it and/or
|
|
||||||
+ * modify it under the terms of the GNU General Public License
|
|
||||||
+ * as published by the Free Software Foundation; either version
|
|
||||||
+ * 2 of the License, or (at your option) any later version.
|
|
||||||
+ *
|
|
||||||
+ * Authors: Patrick McHardy <kaber@trash.net>
|
|
||||||
+ * Arnd Bergmann <arnd@arndb.de>
|
|
||||||
+ */
|
|
||||||
+
|
|
||||||
+#include <stdio.h>
|
|
||||||
+#include <stdlib.h>
|
|
||||||
+#include <string.h>
|
|
||||||
+#include <sys/socket.h>
|
|
||||||
+#include <linux/if_link.h>
|
|
||||||
+
|
|
||||||
+#include "rt_names.h"
|
|
||||||
+#include "utils.h"
|
|
||||||
+#include "ip_common.h"
|
|
||||||
+
|
|
||||||
+static void explain(void)
|
|
||||||
+{
|
|
||||||
+ fprintf(stderr,
|
|
||||||
+ "Usage: ... macvlan mode { private | vepa | bridge }\n"
|
|
||||||
+ );
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static int mode_arg(void)
|
|
||||||
+{
|
|
||||||
+ fprintf(stderr, "Error: argument of \"mode\" must be \"private\", "
|
|
||||||
+ "\"vepa\" or \"bridge\"\n");
|
|
||||||
+ return -1;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static int macvlan_parse_opt(struct link_util *lu, int argc, char **argv,
|
|
||||||
+ struct nlmsghdr *n)
|
|
||||||
+{
|
|
||||||
+ while (argc > 0) {
|
|
||||||
+ if (matches(*argv, "mode") == 0) {
|
|
||||||
+ __u32 mode = 0;
|
|
||||||
+ NEXT_ARG();
|
|
||||||
+
|
|
||||||
+ if (strcmp(*argv, "private") == 0)
|
|
||||||
+ mode = MACVLAN_MODE_PRIVATE;
|
|
||||||
+ else if (strcmp(*argv, "vepa") == 0)
|
|
||||||
+ mode = MACVLAN_MODE_VEPA;
|
|
||||||
+ else if (strcmp(*argv, "bridge") == 0)
|
|
||||||
+ mode = MACVLAN_MODE_BRIDGE;
|
|
||||||
+ else
|
|
||||||
+ return mode_arg();
|
|
||||||
+
|
|
||||||
+ addattr32(n, 1024, IFLA_MACVLAN_MODE, mode);
|
|
||||||
+ } else if (matches(*argv, "help") == 0) {
|
|
||||||
+ explain();
|
|
||||||
+ return -1;
|
|
||||||
+ } else {
|
|
||||||
+ fprintf(stderr, "macvlan: what is \"%s\"?\n", *argv);
|
|
||||||
+ explain();
|
|
||||||
+ return -1;
|
|
||||||
+ }
|
|
||||||
+ argc--, argv++;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ return 0;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static void macvlan_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
|
|
||||||
+{
|
|
||||||
+ __u32 mode;
|
|
||||||
+
|
|
||||||
+ if (!tb)
|
|
||||||
+ return;
|
|
||||||
+
|
|
||||||
+ if (!tb[IFLA_MACVLAN_MODE] ||
|
|
||||||
+ RTA_PAYLOAD(tb[IFLA_MACVLAN_MODE]) < sizeof(__u32))
|
|
||||||
+ return;
|
|
||||||
+
|
|
||||||
+ mode = *(__u32 *)RTA_DATA(tb[IFLA_VLAN_ID]);
|
|
||||||
+ fprintf(f, " mode %s ",
|
|
||||||
+ mode == MACVLAN_MODE_PRIVATE ? "private"
|
|
||||||
+ : mode == MACVLAN_MODE_VEPA ? "vepa"
|
|
||||||
+ : mode == MACVLAN_MODE_BRIDGE ? "bridge"
|
|
||||||
+ : "unknown");
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+struct link_util macvlan_link_util = {
|
|
||||||
+ .id = "macvlan",
|
|
||||||
+ .maxattr = IFLA_MACVLAN_MAX,
|
|
||||||
+ .parse_opt = macvlan_parse_opt,
|
|
||||||
+ .print_opt = macvlan_print_opt,
|
|
||||||
+};
|
|
||||||
--
|
|
||||||
1.6.6
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user