summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2005-02-09 14:52:59 +0000
committerMike Frysinger <vapier@gentoo.org>2005-02-09 14:52:59 +0000
commit6668a6b00ed20d57a9c1f9ba6369e2823e46cedf (patch)
treee03b0f405c84ca87842bfb5b1fbed6cc6fcb1c2b /sys-apps/iproute2
parentalpha/ppc/ppc64 stable (diff)
downloadgentoo-2-6668a6b00ed20d57a9c1f9ba6369e2823e46cedf.tar.gz
gentoo-2-6668a6b00ed20d57a9c1f9ba6369e2823e46cedf.tar.bz2
gentoo-2-6668a6b00ed20d57a9c1f9ba6369e2823e46cedf.zip
punt old stuff
(Portage version: 2.0.51-r15)
Diffstat (limited to 'sys-apps/iproute2')
-rw-r--r--sys-apps/iproute2/files/2.6.9.20040831-make-install.patch10
-rw-r--r--sys-apps/iproute2/files/2.6.9.20041019-esqf.patch217
-rw-r--r--sys-apps/iproute2/files/2.6.9.20041019-wrr.patch2
-rw-r--r--sys-apps/iproute2/files/2.6.9.20041019-wrr.patch-r1459
-rw-r--r--sys-apps/iproute2/files/digest-iproute2-2.6.10.200501121
-rw-r--r--sys-apps/iproute2/files/digest-iproute2-2.6.9.200408311
-rw-r--r--sys-apps/iproute2/files/digest-iproute2-2.6.9.20041019-r11
-rw-r--r--sys-apps/iproute2/iproute2-2.6.10.20050112-r1.ebuild6
-rw-r--r--sys-apps/iproute2/iproute2-2.6.10.20050112.ebuild70
-rw-r--r--sys-apps/iproute2/iproute2-2.6.9.20040831.ebuild63
-rw-r--r--sys-apps/iproute2/iproute2-2.6.9.20041019-r1.ebuild67
11 files changed, 4 insertions, 893 deletions
diff --git a/sys-apps/iproute2/files/2.6.9.20040831-make-install.patch b/sys-apps/iproute2/files/2.6.9.20040831-make-install.patch
deleted file mode 100644
index 439bac7982a2..000000000000
--- a/sys-apps/iproute2/files/2.6.9.20040831-make-install.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- Makefile.orig 2004-09-25 01:52:39.886249224 -0400
-+++ Makefile 2004-09-25 01:48:37.942030336 -0400
-@@ -41,6 +41,7 @@
- install -m 0755 -d $(DESTDIR)$(CONFDIR)
- install -m 0755 -d $(DESTDIR)$(DOCDIR)/examples
- install -m 0755 -d $(DESTDIR)$(DOCDIR)/examples/diffserv
-+ install -m 0755 -d $(DESTDIR)$(MANDIR)/man8
- install -m 0644 README.iproute2+tc $(shell find examples -type f -maxdepth 1) \
- $(DESTDIR)$(DOCDIR)/examples
- install -m 0644 $(shell find examples/diffserv -type f -maxdepth 1) \
diff --git a/sys-apps/iproute2/files/2.6.9.20041019-esqf.patch b/sys-apps/iproute2/files/2.6.9.20041019-esqf.patch
deleted file mode 100644
index 6ab40a51dc0e..000000000000
--- a/sys-apps/iproute2/files/2.6.9.20041019-esqf.patch
+++ /dev/null
@@ -1,217 +0,0 @@
-diff -Naur iproute2-2.6.9.orig/include/linux/pkt_sched.h iproute2-2.6.9.esqf/include/linux/pkt_sched.h
---- iproute2-2.6.9.orig/include/linux/pkt_sched.h 2004-08-31 11:32:14.000000000 -0700
-+++ iproute2-2.6.9.esqf/include/linux/pkt_sched.h 2004-10-26 02:50:26.551530861 -0700
-@@ -127,6 +127,13 @@
-
- /* SFQ section */
-
-+enum
-+{
-+ TCA_SFQ_HASH_CLASSIC,
-+ TCA_SFQ_HASH_DST,
-+ TCA_SFQ_HASH_SRC,
-+};
-+
- struct tc_sfq_qopt
- {
- unsigned quantum; /* Bytes per round allocated to flow */
-@@ -134,6 +141,7 @@
- __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 */
- };
-
- /*
-@@ -143,6 +151,8 @@
- *
- * The only reason for this is efficiency, it is possible
- * to change these parameters in compile time.
-+ *
-+ * If you need to play with this values use esfq.
- */
-
- /* RED section */
-diff -Naur iproute2-2.6.9.orig/tc/Makefile iproute2-2.6.9.esqf/tc/Makefile
---- iproute2-2.6.9.orig/tc/Makefile 2004-08-31 11:32:14.000000000 -0700
-+++ iproute2-2.6.9.esqf/tc/Makefile 2004-10-26 02:49:58.967906374 -0700
-@@ -6,6 +6,7 @@
- TCMODULES :=
- TCMODULES += q_fifo.o
- TCMODULES += q_sfq.o
-+TCMODULES += q_esfq.o
- TCMODULES += q_red.o
- TCMODULES += q_prio.o
- TCMODULES += q_tbf.o
-diff -Naur iproute2-2.6.9.orig/tc/q_esfq.c iproute2-2.6.9.esqf/tc/q_esfq.c
---- iproute2-2.6.9.orig/tc/q_esfq.c 1969-12-31 16:00:00.000000000 -0800
-+++ iproute2-2.6.9.esqf/tc/q_esfq.c 2004-10-26 02:49:58.969905912 -0700
-@@ -0,0 +1,168 @@
-+/*
-+ * q_esfq.c ESFQ.
-+ *
-+ * 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: Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru>
-+ *
-+ * Changes: Alexander Atanasov, <alex@ssi.bg>
-+ * Added depth,limit,divisor,hash_kind options.
-+ */
-+
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <unistd.h>
-+#include <syslog.h>
-+#include <fcntl.h>
-+#include <math.h>
-+#include <sys/socket.h>
-+#include <netinet/in.h>
-+#include <arpa/inet.h>
-+#include <string.h>
-+
-+#include "utils.h"
-+#include "tc_util.h"
-+
-+static void explain(void)
-+{
-+ fprintf(stderr, "Usage: ... esfq [ perturb SECS ] [ quantum BYTES ] [ depth FLOWS ]\n\t[ divisor HASHBITS ] [ limit PKTS ] [ hash HASHTYPE]\n");
-+ fprintf(stderr,"Where: \n");
-+ fprintf(stderr,"HASHTYPE := { classic | src | dst }\n");
-+}
-+
-+#define usage() return(-1)
-+
-+static int esfq_parse_opt(struct qdisc_util *qu, int argc, char **argv, struct nlmsghdr *n)
-+{
-+ int ok=0;
-+ struct tc_sfq_qopt opt;
-+
-+ memset(&opt, 0, sizeof(opt));
-+
-+ opt.hash_kind= TCA_SFQ_HASH_CLASSIC;
-+
-+ while (argc > 0) {
-+ if (strcmp(*argv, "quantum") == 0) {
-+ NEXT_ARG();
-+ if (get_size(&opt.quantum, *argv)) {
-+ fprintf(stderr, "Illegal \"quantum\"\n");
-+ return -1;
-+ }
-+ ok++;
-+ } else if (strcmp(*argv, "perturb") == 0) {
-+ NEXT_ARG();
-+ if (get_integer(&opt.perturb_period, *argv, 0)) {
-+ fprintf(stderr, "Illegal \"perturb\"\n");
-+ return -1;
-+ }
-+ ok++;
-+ } else if (strcmp(*argv, "depth") == 0) {
-+ NEXT_ARG();
-+ if (get_integer(&opt.flows, *argv, 0)) {
-+ fprintf(stderr, "Illegal \"depth\"\n");
-+ return -1;
-+ }
-+ ok++;
-+ } else if (strcmp(*argv, "divisor") == 0) {
-+ NEXT_ARG();
-+ if (get_integer(&opt.divisor, *argv, 0)) {
-+ fprintf(stderr, "Illegal \"divisor\"\n");
-+ return -1;
-+ }
-+ if(opt.divisor >= 15) {
-+ fprintf(stderr, "Illegal \"divisor\" must be < 15\n");
-+ return -1;
-+ }
-+ opt.divisor=pow(2,opt.divisor);
-+ ok++;
-+ } else if (strcmp(*argv, "limit") == 0) {
-+ NEXT_ARG();
-+ if (get_integer(&opt.limit, *argv, 0)) {
-+ fprintf(stderr, "Illegal \"limit\"\n");
-+ return -1;
-+ }
-+ ok++;
-+ } else if (strcmp(*argv, "hash") == 0) {
-+ NEXT_ARG();
-+ if(strcmp(*argv,"classic") == 0) {
-+ opt.hash_kind= TCA_SFQ_HASH_CLASSIC;
-+ } else
-+ if(strcmp(*argv,"dst") == 0) {
-+ opt.hash_kind= TCA_SFQ_HASH_DST;
-+ } else
-+ if(strcmp(*argv,"src") == 0) {
-+ opt.hash_kind= TCA_SFQ_HASH_SRC;
-+ } else {
-+ fprintf(stderr, "Illegal \"hash\"\n");
-+ explain();
-+ return -1;
-+ }
-+ ok++;
-+ } else if (strcmp(*argv, "help") == 0) {
-+ explain();
-+ return -1;
-+ } else {
-+ fprintf(stderr, "What is \"%s\"?\n", *argv);
-+ explain();
-+ return -1;
-+ }
-+ argc--; argv++;
-+ }
-+
-+ if (ok)
-+ addattr_l(n, 1024, TCA_OPTIONS, &opt, sizeof(opt));
-+ return 0;
-+}
-+
-+static int esfq_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
-+{
-+ struct tc_sfq_qopt *qopt;
-+ SPRINT_BUF(b1);
-+
-+ if (opt == NULL)
-+ return 0;
-+
-+ if (RTA_PAYLOAD(opt) < sizeof(*qopt))
-+ return -1;
-+ qopt = RTA_DATA(opt);
-+ fprintf(f, "quantum %s ", sprint_size(qopt->quantum, b1));
-+ if (show_details) {
-+ fprintf(f, "limit %up flows %u/%u ",
-+ qopt->limit, qopt->flows, qopt->divisor);
-+ }
-+ if (qopt->perturb_period)
-+ fprintf(f, "perturb %dsec ", qopt->perturb_period);
-+
-+ fprintf(f,"hash: ");
-+ switch(qopt->hash_kind)
-+ {
-+ case TCA_SFQ_HASH_CLASSIC:
-+ fprintf(f,"classic");
-+ break;
-+ case TCA_SFQ_HASH_DST:
-+ fprintf(f,"dst");
-+ break;
-+ case TCA_SFQ_HASH_SRC:
-+ fprintf(f,"src");
-+ break;
-+ default:
-+ fprintf(f,"Unknown");
-+ }
-+ return 0;
-+}
-+
-+static int esfq_print_xstats(struct qdisc_util *qu, FILE *f, struct rtattr *xstats)
-+{
-+ return 0;
-+}
-+
-+
-+struct qdisc_util esfq_util = {
-+ .id = "esfq",
-+ .parse_qopt = esfq_parse_opt,
-+ .print_qopt = esfq_print_opt,
-+ .print_xstats = esfq_print_xstats,
-+};
diff --git a/sys-apps/iproute2/files/2.6.9.20041019-wrr.patch b/sys-apps/iproute2/files/2.6.9.20041019-wrr.patch
index 890b3cdef605..62548f62c2ac 100644
--- a/sys-apps/iproute2/files/2.6.9.20041019-wrr.patch
+++ b/sys-apps/iproute2/files/2.6.9.20041019-wrr.patch
@@ -449,7 +449,7 @@ diff -Naur iproute2-2.6.9.orig/tc/q_wrr.c iproute2-2.6.9.wrr/tc/q_wrr.c
+}
+
+
-+struct qdisc_util wrr_util = {
++struct qdisc_util wrr_qdisc_util = {
+ .id = "wrr",
+ .parse_qopt = wrr_parse_opt,
+ .print_qopt = wrr_print_opt,
diff --git a/sys-apps/iproute2/files/2.6.9.20041019-wrr.patch-r1 b/sys-apps/iproute2/files/2.6.9.20041019-wrr.patch-r1
deleted file mode 100644
index 62548f62c2ac..000000000000
--- a/sys-apps/iproute2/files/2.6.9.20041019-wrr.patch-r1
+++ /dev/null
@@ -1,459 +0,0 @@
-diff -Naur iproute2-2.6.9.orig/include/linux/pkt_sched.h iproute2-2.6.9.wrr/include/linux/pkt_sched.h
---- iproute2-2.6.9.orig/include/linux/pkt_sched.h 2004-08-31 11:32:14.000000000 -0700
-+++ iproute2-2.6.9.wrr/include/linux/pkt_sched.h 2004-10-26 02:52:23.161578317 -0700
-@@ -375,6 +375,118 @@
-
- #define TCA_CBQ_MAX TCA_CBQ_POLICE
-
-+/* WRR section */
-+
-+/* Other includes */
-+#include <linux/if_ether.h>
-+
-+// A sub weight and of a class
-+// All numbers are represented as parts of (2^64-1).
-+struct tc_wrr_class_weight {
-+ __u64 val; // Current value (0 is not valid)
-+ __u64 decr; // Value pr bytes (2^64-1 is not valid)
-+ __u64 incr; // Value pr seconds (2^64-1 is not valid)
-+ __u64 min; // Minimal value (0 is not valid)
-+ __u64 max; // Minimal value (0 is not valid)
-+
-+ // The time where the above information was correct:
-+ time_t tim;
-+};
-+
-+// Pakcet send when modifying a class:
-+struct tc_wrr_class_modf {
-+ // Not-valid values are ignored.
-+ struct tc_wrr_class_weight weight1;
-+ struct tc_wrr_class_weight weight2;
-+};
-+
-+// Packet returned when quering a class:
-+struct tc_wrr_class_stats {
-+ char used; // If this is false the information below is invalid
-+
-+ struct tc_wrr_class_modf class_modf;
-+
-+ unsigned char addr[ETH_ALEN];
-+ char usemac; // True if addr is a MAC address, else it is an IP address
-+ // (this value is only for convience, it is always the same
-+ // value as in the qdisc)
-+ int heappos; // Current heap position or 0 if not in heap
-+ __u64 penal_ls; // Penalty value in heap (ls)
-+ __u64 penal_ms; // Penalty value in heap (ms)
-+};
-+
-+// Qdisc-wide penalty information (boolean values - 2 not valid)
-+struct tc_wrr_qdisc_weight {
-+ char weight_mode; // 0=No automatic change to weight
-+ // 1=Decrease normally
-+ // 2=Also multiply with number of machines
-+ // 3=Instead multiply with priority divided
-+ // with priority of the other.
-+ // -1=no change
-+};
-+
-+// Packet send when modifing a qdisc:
-+struct tc_wrr_qdisc_modf {
-+ // Not-valid values are ignored:
-+ struct tc_wrr_qdisc_weight weight1;
-+ struct tc_wrr_qdisc_weight weight2;
-+};
-+
-+// Packet send when creating a qdisc:
-+struct tc_wrr_qdisc_crt {
-+ struct tc_wrr_qdisc_modf qdisc_modf;
-+
-+ char srcaddr; // 1=lookup source, 0=lookup destination
-+ char usemac; // 1=Classify on MAC addresses, 0=classify on IP
-+ char usemasq; // 1=Classify based on masqgrading - only valid
-+ // if usemac is zero
-+ int bands_max; // Maximal number of bands (i.e.: classes)
-+ int proxy_maxconn; // If differnt from 0 then we support proxy remapping
-+ // of packets. And this is the number of maximal
-+ // concurrent proxy connections.
-+};
-+
-+// Packet returned when quering a qdisc:
-+struct tc_wrr_qdisc_stats {
-+ struct tc_wrr_qdisc_crt qdisc_crt;
-+ int proxy_curconn;
-+ int nodes_in_heap; // Current number of bands wanting to send something
-+ int bands_cur; // Current number of bands used (i.e.: MAC/IP addresses seen)
-+ int bands_reused; // Number of times this band has been reused.
-+ int packets_requed; // Number of times packets have been requeued.
-+ __u64 priosum; // Sum of priorities in heap where 1 is 2^32
-+};
-+
-+struct tc_wrr_qdisc_modf_std {
-+ // This indicates which of the tc_wrr_qdisc_modf structers this is:
-+ char proxy; // 0=This struct
-+
-+ // Should we also change a class?
-+ char change_class;
-+
-+ // Only valid if change_class is false
-+ struct tc_wrr_qdisc_modf qdisc_modf;
-+
-+ // Only valid if change_class is true:
-+ unsigned char addr[ETH_ALEN]; // Class to change (non-used bytes should be 0)
-+ struct tc_wrr_class_modf class_modf; // The change
-+};
-+
-+// Used for proxyrempping:
-+struct tc_wrr_qdisc_modf_proxy {
-+ // This indicates which of the tc_wrr_qdisc_modf structers this is:
-+ char proxy; // 1=This struct
-+
-+ // This is 1 if the proxyremap information should be reset
-+ char reset;
-+
-+ // changec is the number of elements in changes.
-+ int changec;
-+
-+ // This is an array of type ProxyRemapBlock:
-+ long changes[0];
-+};
-+
- /* dsmark section */
-
- enum {
-diff -Naur iproute2-2.6.9.orig/tc/Makefile iproute2-2.6.9.wrr/tc/Makefile
---- iproute2-2.6.9.orig/tc/Makefile 2004-08-31 11:32:14.000000000 -0700
-+++ iproute2-2.6.9.wrr/tc/Makefile 2004-10-26 02:52:12.653007205 -0700
-@@ -10,6 +10,7 @@
- TCMODULES += q_prio.o
- TCMODULES += q_tbf.o
- TCMODULES += q_cbq.o
-+TCMODULES += q_wrr.o
- TCMODULES += f_rsvp.o
- TCMODULES += f_u32.o
- TCMODULES += f_route.o
-diff -Naur iproute2-2.6.9.orig/tc/q_wrr.c iproute2-2.6.9.wrr/tc/q_wrr.c
---- iproute2-2.6.9.orig/tc/q_wrr.c 1969-12-31 16:00:00.000000000 -0800
-+++ iproute2-2.6.9.wrr/tc/q_wrr.c 2004-10-26 02:52:12.655006743 -0700
-@@ -0,0 +1,322 @@
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <unistd.h>
-+#include <syslog.h>
-+#include <fcntl.h>
-+#include <sys/socket.h>
-+#include <netinet/in.h>
-+#include <arpa/inet.h>
-+#include <string.h>
-+#include <math.h>
-+
-+#include "utils.h"
-+#include "tc_util.h"
-+
-+#define usage() return(-1)
-+
-+// Returns -1 on error
-+static int wrr_parse_qdisc_weight(int argc, char** argv,
-+ struct tc_wrr_qdisc_modf* opt) {
-+ int i;
-+
-+ opt->weight1.weight_mode=-1;
-+ opt->weight2.weight_mode=-1;
-+
-+ for(i=0; i<argc; i++) {
-+ if(!memcmp(argv[i],"wmode1=",7)) {
-+ opt->weight1.weight_mode=atoi(argv[i]+7);
-+ } else if(!memcmp(argv[i],"wmode2=",7)) {
-+ opt->weight2.weight_mode=atoi(argv[i]+7);
-+ } else {
-+ printf("Usage: ... [wmode1=0|1|2|3] [wmode2=0|1|2|3]\n");
-+ return -1;
-+ }
-+ }
-+ return 0;
-+}
-+
-+static int wrr_parse_class_modf(int argc, char** argv,
-+ struct tc_wrr_class_modf* modf) {
-+ int i;
-+
-+ if(argc<1) {
-+ fprintf(stderr, "Usage: ... [weight1=val] [decr1=val] [incr1=val] [min1=val] [max1=val] [val2=val] ...\n");
-+ fprintf(stderr, " The values can be floating point like 0.42 or divisions like 42/100\n");
-+ return -1;
-+ }
-+
-+ // Set meaningless values:
-+ modf->weight1.val=0;
-+ modf->weight1.decr=(__u64)-1;
-+ modf->weight1.incr=(__u64)-1;
-+ modf->weight1.min=0;
-+ modf->weight1.max=0;
-+ modf->weight2.val=0;
-+ modf->weight2.decr=(__u64)-1;
-+ modf->weight2.incr=(__u64)-1;
-+ modf->weight2.min=0;
-+ modf->weight2.max=0;
-+
-+ // And read values:
-+ for(i=0; i<argc; i++) {
-+ char arg[80];
-+ char* name,*value1=0,*value2=0;
-+ long double f_val1,f_val2=1,value;
-+ if(strlen(argv[i])>=sizeof(arg)) {
-+ fprintf(stderr,"Argument too long: %s\n",argv[i]);
-+ return -1;
-+ }
-+ strcpy(arg,argv[i]);
-+
-+ name=strtok(arg,"=");
-+ if(name) value1=strtok(0,"/");
-+ if(value1) value2=strtok(0,"");
-+
-+ if(!value1) {
-+ fprintf(stderr,"No = found in argument: %s\n",argv[i]);
-+ return -1;
-+ }
-+
-+ f_val1=atof(value1);
-+ if(value2) f_val2=atof(value2);
-+
-+ if(f_val2==0) {
-+ fprintf(stderr,"Division by 0\n");
-+ return -1;
-+ }
-+
-+ value=f_val1/f_val2;
-+ if(value>1) value=1;
-+ if(value<0) value=0;
-+ value*=((__u64)-1);
-+
-+ // And find the value set
-+ if(!strcmp(name,"weight1")) modf->weight1.val=value;
-+ else if(!strcmp(name,"decr1")) modf->weight1.decr=value;
-+ else if(!strcmp(name,"incr1")) modf->weight1.incr=value;
-+ else if(!strcmp(name,"min1")) modf->weight1.min=value;
-+ else if(!strcmp(name,"max1")) modf->weight1.max=value;
-+ else if(!strcmp(name,"weight2")) modf->weight2.val=value;
-+ else if(!strcmp(name,"decr2")) modf->weight2.decr=value;
-+ else if(!strcmp(name,"incr2")) modf->weight2.incr=value;
-+ else if(!strcmp(name,"min2")) modf->weight2.min=value;
-+ else if(!strcmp(name,"max2")) modf->weight2.max=value;
-+ else {
-+ fprintf(stderr,"illegal value: %s\n",name);
-+ return -1;
-+ }
-+ }
-+
-+ return 0;
-+}
-+
-+static int wrr_parse_opt(struct qdisc_util *qu, int argc, char **argv, struct nlmsghdr *n)
-+{
-+ if(n->nlmsg_flags & NLM_F_CREATE) {
-+ // This is a create request:
-+ struct tc_wrr_qdisc_crt opt;
-+
-+ int sour,dest,ip,mac,masq;
-+
-+ if(argc<4) {
-+ fprintf(stderr, "Usage: ... wrr sour|dest ip|masq|mac maxclasses proxymaxcon [penalty-setup]\n");
-+ return -1;
-+ }
-+
-+ // Read sour/dest:
-+ memset(&opt,0,sizeof(opt));
-+ sour=!strcmp(argv[0],"sour");
-+ dest=!strcmp(argv[0],"dest");
-+
-+ if(!sour && !dest) {
-+ fprintf(stderr,"sour or dest must be specified\n");
-+ return -1;
-+ }
-+
-+ // Read ip/mac
-+ ip=!strcmp(argv[1],"ip");
-+ mac=!strcmp(argv[1],"mac");
-+ masq=!strcmp(argv[1],"masq");
-+
-+ if(!ip && !mac && !masq) {
-+ fprintf(stderr,"ip, masq or mac must be specified\n");
-+ return -1;
-+ }
-+
-+ opt.srcaddr=sour;
-+ opt.usemac=mac;
-+ opt.usemasq=masq;
-+ opt.bands_max=atoi(argv[2]);
-+
-+ opt.proxy_maxconn=atoi(argv[3]);
-+
-+ // Read weights:
-+ if(wrr_parse_qdisc_weight(argc-4,argv+4,&opt.qdisc_modf)<0) return -1;
-+ if(opt.qdisc_modf.weight1.weight_mode==-1) opt.qdisc_modf.weight1.weight_mode=0;
-+ if(opt.qdisc_modf.weight2.weight_mode==-1) opt.qdisc_modf.weight2.weight_mode=0;
-+
-+ addattr_l(n, 1024, TCA_OPTIONS, &opt, sizeof(opt));
-+ } else {
-+ struct tc_wrr_qdisc_modf_std opt;
-+ char qdisc,class;
-+
-+ // This is a modify request:
-+ if(argc<1) {
-+ fprintf(stderr,"... qdisc ... or ... class ...\n");
-+ return -1;
-+ }
-+
-+ qdisc=!strcmp(argv[0],"qdisc");
-+ class=!strcmp(argv[0],"class");
-+
-+ if(!qdisc && !class) {
-+ fprintf(stderr,"qdisc or class must be specified\n");
-+ return -1;
-+ }
-+
-+ argc--;
-+ argv++;
-+
-+ opt.proxy=0;
-+
-+ if(qdisc) {
-+ opt.change_class=0;
-+ if(wrr_parse_qdisc_weight(argc, argv, &opt.qdisc_modf)<0) return -1;
-+ } else {
-+ int a0,a1,a2,a3,a4=0,a5=0;
-+
-+ opt.change_class=1;
-+
-+ if(argc<1) {
-+ fprintf(stderr,"... <mac>|<ip>|<masq> ...\n");
-+ return -1;
-+ }
-+ memset(opt.addr,0,sizeof(opt.addr));
-+
-+ if((sscanf(argv[0],"%i.%i.%i.%i",&a0,&a1,&a2,&a3)!=4) &&
-+ (sscanf(argv[0],"%x:%x:%x:%x:%x:%x",&a0,&a1,&a2,&a3,&a4,&a5)!=6)) {
-+ fprintf(stderr,"Wrong format of mac or ip address\n");
-+ return -1;
-+ }
-+
-+ opt.addr[0]=a0; opt.addr[1]=a1; opt.addr[2]=a2;
-+ opt.addr[3]=a3; opt.addr[4]=a4; opt.addr[5]=a5;
-+
-+ if(wrr_parse_class_modf(argc-1, argv+1, &opt.class_modf)<0) return -1;
-+ }
-+
-+ addattr_l(n, 1024, TCA_OPTIONS, &opt, sizeof(opt));
-+ }
-+ return 0;
-+}
-+
-+static int wrr_parse_copt(struct qdisc_util *qu, int argc, char **argv, struct nlmsghdr *n) {
-+ struct tc_wrr_class_modf opt;
-+
-+ memset(&opt,0,sizeof(opt));
-+ if(wrr_parse_class_modf(argc,argv,&opt)<0) return -1;
-+
-+ addattr_l(n, 1024, TCA_OPTIONS, &opt, sizeof(opt));
-+ return 0;
-+}
-+
-+static int wrr_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
-+{
-+ struct tc_wrr_qdisc_stats *qopt;
-+
-+ if (opt == NULL)
-+ return 0;
-+
-+ if (RTA_PAYLOAD(opt) < sizeof(*qopt))
-+ return -1;
-+ qopt = RTA_DATA(opt);
-+
-+ fprintf(f,"\n (%s/%s) (maxclasses %i) (usedclasses %i) (reused classes %i)\n",
-+ qopt->qdisc_crt.srcaddr ? "sour" : "dest",
-+ qopt->qdisc_crt.usemac ? "mac" : (qopt->qdisc_crt.usemasq ? "masq" : "ip"),
-+ qopt->qdisc_crt.bands_max,
-+ qopt->bands_cur,
-+ qopt->bands_reused
-+ );
-+
-+ if(qopt->qdisc_crt.proxy_maxconn) {
-+ fprintf(f," (proxy maxcon %i) (proxy curcon %i)\n",
-+ qopt->qdisc_crt.proxy_maxconn,qopt->proxy_curconn);
-+ }
-+
-+ fprintf(f," (waiting classes %i) (packets requeued %i) (priosum: %Lg)\n",
-+ qopt->nodes_in_heap,
-+ qopt->packets_requed,
-+ qopt->priosum/((long double)((__u32)-1))
-+ );
-+
-+ fprintf(f," (wmode1 %i) (wmode2 %i) \n",
-+ qopt->qdisc_crt.qdisc_modf.weight1.weight_mode,
-+ qopt->qdisc_crt.qdisc_modf.weight2.weight_mode);
-+
-+ return 0;
-+}
-+
-+static int wrr_print_copt(struct qdisc_util *qu, FILE *f, struct rtattr *opt) {
-+ struct tc_wrr_class_stats *copt;
-+ long double d=(__u64)-1;
-+
-+ if (opt == NULL) return 0;
-+
-+ if (RTA_PAYLOAD(opt) < sizeof(*copt))
-+ return -1;
-+ copt = RTA_DATA(opt);
-+
-+ if(!copt->used) {
-+ fprintf(f,"(unused)");
-+ return 0;
-+ }
-+
-+ if(copt->usemac) {
-+ fprintf(f,"\n (address: %.2X:%.2X:%.2X:%.2X:%.2X:%.2X)\n",
-+ copt->addr[0],copt->addr[1],copt->addr[2],
-+ copt->addr[3],copt->addr[4],copt->addr[5]);
-+ } else {
-+ fprintf(f,"\n (address: %i.%i.%i.%i)\n",copt->addr[0],copt->addr[1],copt->addr[2],copt->addr[3]);
-+ }
-+
-+ fprintf(f," (total weight: %Lg) (current position: %i) (counters: %u %u : %u %u)\n",
-+ (copt->class_modf.weight1.val/d)*(copt->class_modf.weight2.val/d),
-+ copt->heappos,
-+ (unsigned)(copt->penal_ms>>32),
-+ (unsigned)(copt->penal_ms & 0xffffffffU),
-+ (unsigned)(copt->penal_ls>>32),
-+ (unsigned)(copt->penal_ls & 0xffffffffU)
-+ );
-+
-+ fprintf(f," Pars 1: (weight %Lg) (decr: %Lg) (incr: %Lg) (min: %Lg) (max: %Lg)\n",
-+ copt->class_modf.weight1.val/d,
-+ copt->class_modf.weight1.decr/d,
-+ copt->class_modf.weight1.incr/d,
-+ copt->class_modf.weight1.min/d,
-+ copt->class_modf.weight1.max/d);
-+
-+ fprintf(f," Pars 2: (weight %Lg) (decr: %Lg) (incr: %Lg) (min: %Lg) (max: %Lg)",
-+ copt->class_modf.weight2.val/d,
-+ copt->class_modf.weight2.decr/d,
-+ copt->class_modf.weight2.incr/d,
-+ copt->class_modf.weight2.min/d,
-+ copt->class_modf.weight2.max/d);
-+
-+ return 0;
-+}
-+
-+static int wrr_print_xstats(struct qdisc_util *qu, FILE *f, struct rtattr *xstats)
-+{
-+ return 0;
-+}
-+
-+
-+struct qdisc_util wrr_qdisc_util = {
-+ .id = "wrr",
-+ .parse_qopt = wrr_parse_opt,
-+ .print_qopt = wrr_print_opt,
-+ .print_xstats = wrr_print_xstats,
-+ .parse_copt = wrr_parse_copt,
-+ .print_copt = wrr_print_copt
-+};
diff --git a/sys-apps/iproute2/files/digest-iproute2-2.6.10.20050112 b/sys-apps/iproute2/files/digest-iproute2-2.6.10.20050112
deleted file mode 100644
index 230bc8fcdb9b..000000000000
--- a/sys-apps/iproute2/files/digest-iproute2-2.6.10.20050112
+++ /dev/null
@@ -1 +0,0 @@
-MD5 43b454cfa0948e234f128cce41db4911 iproute2-2.6.10-ss050112.tar.gz 307663
diff --git a/sys-apps/iproute2/files/digest-iproute2-2.6.9.20040831 b/sys-apps/iproute2/files/digest-iproute2-2.6.9.20040831
deleted file mode 100644
index 9d1cb4f2b1b3..000000000000
--- a/sys-apps/iproute2/files/digest-iproute2-2.6.9.20040831
+++ /dev/null
@@ -1 +0,0 @@
-MD5 4079036ec0283341d37f96ce9ae1a932 iproute2-2.6.9-ss040831.tar.gz 283969
diff --git a/sys-apps/iproute2/files/digest-iproute2-2.6.9.20041019-r1 b/sys-apps/iproute2/files/digest-iproute2-2.6.9.20041019-r1
deleted file mode 100644
index 404bd437beb7..000000000000
--- a/sys-apps/iproute2/files/digest-iproute2-2.6.9.20041019-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 4b3f335b0139cb909c6a2ae8bf72e548 iproute2-2.6.9-041019.tar.gz 275446
diff --git a/sys-apps/iproute2/iproute2-2.6.10.20050112-r1.ebuild b/sys-apps/iproute2/iproute2-2.6.10.20050112-r1.ebuild
index 216d4b761cab..2daf0db0316e 100644
--- a/sys-apps/iproute2/iproute2-2.6.10.20050112-r1.ebuild
+++ b/sys-apps/iproute2/iproute2-2.6.10.20050112-r1.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/iproute2/iproute2-2.6.10.20050112-r1.ebuild,v 1.6 2005/02/09 14:42:29 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/iproute2/iproute2-2.6.10.20050112-r1.ebuild,v 1.7 2005/02/09 14:52:59 vapier Exp $
inherit eutils toolchain-funcs
@@ -29,10 +29,10 @@ src_unpack() {
unpack ${A}
cd ${S}
sed -i -e "s:-O2:${CFLAGS}:" Makefile || die "sed Makefile failed"
- #68948 - esqf/wrr patches
+ #68948 - esfq/wrr patches
epatch \
${FILESDIR}/2.6.9.20041106-esfq.patch \
- ${FILESDIR}/2.6.9.20041019-wrr.patch-r1
+ ${FILESDIR}/2.6.9.20041019-wrr.patch
# Multilib fixes
sed -i "s:/usr/lib/tc:/usr/$(get_libdir)/tc:g" ${S}/tc/Makefile ${S}/tc/tc.c ${S}/tc/q_netem.c
diff --git a/sys-apps/iproute2/iproute2-2.6.10.20050112.ebuild b/sys-apps/iproute2/iproute2-2.6.10.20050112.ebuild
deleted file mode 100644
index 0d0b2a5c4a68..000000000000
--- a/sys-apps/iproute2/iproute2-2.6.10.20050112.ebuild
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright 1999-2005 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/iproute2/iproute2-2.6.10.20050112.ebuild,v 1.3 2005/01/22 02:06:21 eradicator Exp $
-
-inherit eutils toolchain-funcs
-
-MY_PV=${PV%.*}
-SNAP=${PV##*.}
-SNAP=ss${SNAP:2}
-DESCRIPTION="kernel routing and traffic control utilities"
-HOMEPAGE="http://developer.osdl.org/dev/iproute2/"
-SRC_URI="http://developer.osdl.org/dev/iproute2/download/${PN}-${MY_PV}-${SNAP}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
-IUSE="atm minimal"
-
-RDEPEND="virtual/libc
- !minimal? ( sys-libs/db )
- atm? ( net-dialup/linux-atm )"
-DEPEND="${RDEPEND}
- >=virtual/os-headers-2.4.21
- >=sys-apps/sed-4"
-
-S=${WORKDIR}/${PN}-${MY_PV}-${SNAP}
-
-src_unpack() {
- unpack ${A}
- cd ${S}
- sed -i -e "s:-O2:${CFLAGS}:" Makefile || die "sed Makefile failed"
- #68948 - esqf/wrr patches
- epatch \
- ${FILESDIR}/2.6.9.20041019-esqf.patch \
- ${FILESDIR}/2.6.9.20041019-wrr.patch
-
- # Multilib fixes
- sed -i "s:/usr/lib/tc:/usr/$(get_libdir)/tc:g" ${S}/tc/Makefile ${S}/tc/tc.c ${S}/tc/q_netem.c
-}
-
-src_compile() {
- echo -n 'TC_CONFIG_ATM:=' > Config
- use atm \
- && echo 'y' >> Config \
- || echo 'n' >> Config
-
- local SUBDIRS="lib ip tc misc"
- use minimal && SUBDIRS="lib tc"
- emake \
- CC="$(tc-getCC)" \
- AR="$(tc-getAR)" \
- SUBDIRS="${SUBDIRS}" \
- || die "make"
-}
-
-src_install() {
- if use minimal; then
- into /
- dosbin tc/tc || die "minimal"
- return 0
- fi
-
- dodir /usr/share/man/man3
- make \
- DESTDIR="${D}" \
- SBINDIR=/sbin \
- DOCDIR=/usr/share/doc/${PF} \
- install \
- || die "make install failed"
-}
diff --git a/sys-apps/iproute2/iproute2-2.6.9.20040831.ebuild b/sys-apps/iproute2/iproute2-2.6.9.20040831.ebuild
deleted file mode 100644
index 9a04cb08d6f0..000000000000
--- a/sys-apps/iproute2/iproute2-2.6.9.20040831.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2005 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/iproute2/iproute2-2.6.9.20040831.ebuild,v 1.5 2005/01/02 23:24:33 ciaranm Exp $
-
-inherit eutils gcc
-
-MY_PV="${PV:0:5}"
-SNAP="${PV:${#PV}-6}"
-DESCRIPTION="kernel routing and traffic control utilities"
-HOMEPAGE="http://developer.osdl.org/dev/iproute2/"
-SRC_URI="http://developer.osdl.org/dev/iproute2/download/${PN}-${MY_PV}-ss${SNAP}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm hppa ia64 ~mips ~ppc ~ppc64 sparc x86"
-IUSE="atm minimal"
-
-RDEPEND="virtual/libc
- !minimal? ( sys-libs/db )
- atm? ( net-dialup/linux-atm )"
-DEPEND="${RDEPEND}
- >=virtual/os-headers-2.4.21
- >=sys-apps/sed-4"
-
-S=${WORKDIR}/${PN}-${MY_PV}
-
-src_unpack() {
- unpack ${A}
- cd ${S}
- sed -i -e "s:-O2:${CFLAGS}:g" Makefile || die "sed Makefile failed"
- epatch ${FILESDIR}/${PV}-make-install.patch
-}
-
-src_compile() {
- # non-standard configure script
- ./configure || die "configure"
- use atm \
- && sed -i '/TC_CONFIG_ATM/s:=.*:=y:' Config \
- || sed -i '/TC_CONFIG_ATM/s:=.*:=n:' Config
-
- local SUBDIRS="lib ip tc misc"
- use minimal && SUBDIRS="lib tc"
- emake \
- CC="$(gcc-getCC)" \
- KERNEL_INCLUDE="${ROOT}/usr/include" \
- SUBDIRS="${SUBDIRS}" || die "make"
-}
-
-src_install() {
- if use minimal; then
- into /
- dosbin tc/tc || die "minimal"
- return 0
- fi
-
- make \
- DESTDIR=${D} \
- SBINDIR=/sbin \
- DOCDIR=/usr/share/doc/${PF} \
- install || die "make install failed"
- into /
- dosbin ip/{ifcfg,rtpr} || die "dosbin failed"
-}
diff --git a/sys-apps/iproute2/iproute2-2.6.9.20041019-r1.ebuild b/sys-apps/iproute2/iproute2-2.6.9.20041019-r1.ebuild
deleted file mode 100644
index ec16c5fa030c..000000000000
--- a/sys-apps/iproute2/iproute2-2.6.9.20041019-r1.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2005 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/iproute2/iproute2-2.6.9.20041019-r1.ebuild,v 1.4 2005/01/13 13:50:09 gustavoz Exp $
-
-inherit eutils toolchain-funcs
-
-MY_PV="${PV:0:5}"
-SNAP="${PV:${#PV}-6}"
-DESCRIPTION="kernel routing and traffic control utilities"
-HOMEPAGE="http://developer.osdl.org/dev/iproute2/"
-SRC_URI="http://developer.osdl.org/dev/iproute2/download/${PN}-${MY_PV}-${SNAP}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 arm hppa ia64 ~mips ~ppc ~ppc64 sparc x86"
-IUSE="atm minimal"
-
-RDEPEND="virtual/libc
- !minimal? ( sys-libs/db )
- atm? ( net-dialup/linux-atm )"
-DEPEND="${RDEPEND}
- >=virtual/os-headers-2.4.21
- >=sys-apps/sed-4"
-
-S=${WORKDIR}/${PN}-${MY_PV}
-
-src_unpack() {
- unpack ${A}
- cd ${S}
- sed -i -e "s:-O2:${CFLAGS}:g" Makefile || die "sed Makefile failed"
- #68948 - esqf/wrr patches
- epatch \
- ${FILESDIR}/2.6.9.20040831-make-install.patch \
- ${FILESDIR}/${PV}-esqf.patch \
- ${FILESDIR}/${PV}-wrr.patch
-}
-
-src_compile() {
- # non-standard configure script
- ./configure || die "configure"
- use atm \
- && sed -i '/TC_CONFIG_ATM/s:=.*:=y:' Config \
- || sed -i '/TC_CONFIG_ATM/s:=.*:=n:' Config
-
- local SUBDIRS="lib ip tc misc"
- use minimal && SUBDIRS="lib tc"
- emake \
- CC="$(tc-getCC)" \
- KERNEL_INCLUDE="${ROOT}/usr/include" \
- SUBDIRS="${SUBDIRS}" || die "make"
-}
-
-src_install() {
- if use minimal; then
- into /
- dosbin tc/tc || die "minimal"
- return 0
- fi
-
- make \
- DESTDIR=${D} \
- SBINDIR=/sbin \
- DOCDIR=/usr/share/doc/${PF} \
- install || die "make install failed"
- into /
- dosbin ip/{ifcfg,rtpr} || die "dosbin failed"
-}