diff options
author | Mike Frysinger <vapier@gentoo.org> | 2005-02-09 14:52:59 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2005-02-09 14:52:59 +0000 |
commit | 6668a6b00ed20d57a9c1f9ba6369e2823e46cedf (patch) | |
tree | e03b0f405c84ca87842bfb5b1fbed6cc6fcb1c2b /sys-apps/iproute2 | |
parent | alpha/ppc/ppc64 stable (diff) | |
download | gentoo-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')
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" -} |