Author: cactus                       Date: Thu May 17 18:51:03 2007 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- up to kernel 2.6.20

---- Files affected:
SOURCES:
   esfq-iproute2.patch (1.2 -> 1.3) 

---- Diffs:

================================================================
Index: SOURCES/esfq-iproute2.patch
diff -u SOURCES/esfq-iproute2.patch:1.2 SOURCES/esfq-iproute2.patch:1.3
--- SOURCES/esfq-iproute2.patch:1.2     Mon Nov 14 10:35:05 2005
+++ SOURCES/esfq-iproute2.patch Thu May 17 20:50:58 2007
@@ -1,6 +1,51 @@
---- iproute2.orig/tc/Makefile  Sun Apr 16 20:42:53 2000
-+++ iproute2/tc/Makefile       Tue May 14 23:04:10 2002
-@@ -5,6 +5,7 @@
+diff -Naur iproute2-2.6.19-061214.orig/include/linux/pkt_sched.h 
iproute2-2.6.19-061214/include/linux/pkt_sched.h
+--- iproute2-2.6.19-061214.orig/include/linux/pkt_sched.h      2006-12-14 
15:04:12.000000000 -0800
++++ iproute2-2.6.19-061214/include/linux/pkt_sched.h   2007-02-13 
23:18:29.000000000 -0800
+@@ -146,8 +146,40 @@
+  *
+  *    The only reason for this is efficiency, it is possible
+  *    to change these parameters in compile time.
++ *
++ *    If you need to play with these values use esfq instead.
+  */
+ 
++/* ESFQ section */
++
++enum
++{
++      /* traditional */
++      TCA_SFQ_HASH_CLASSIC,
++      TCA_SFQ_HASH_DST,
++      TCA_SFQ_HASH_SRC,
++      TCA_SFQ_HASH_FWMARK,
++      /* direct */
++      TCA_SFQ_HASH_DSTDIR,
++      TCA_SFQ_HASH_SRCDIR,
++      TCA_SFQ_HASH_FWMARKDIR,
++      /* conntrack */
++      TCA_SFQ_HASH_CTORIGDST,
++      TCA_SFQ_HASH_CTORIGSRC,
++      TCA_SFQ_HASH_CTREPLDST,
++      TCA_SFQ_HASH_CTREPLSRC,
++};
++
++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
+diff -Naur iproute2-2.6.19-061214.orig/tc/Makefile 
iproute2-2.6.19-061214/tc/Makefile
+--- iproute2-2.6.19-061214.orig/tc/Makefile    2006-12-14 15:04:12.000000000 
-0800
++++ iproute2-2.6.19-061214/tc/Makefile 2007-02-11 11:56:13.000000000 -0800
+@@ -7,6 +7,7 @@
  TCMODULES :=
  TCMODULES += q_fifo.o
  TCMODULES += q_sfq.o
@@ -8,9 +53,10 @@
  TCMODULES += q_red.o
  TCMODULES += q_prio.o
  TCMODULES += q_tbf.o
---- iproute2.orig/tc/q_esfq.c  1969-12-31 16:00:00.000000000 -0800
-+++ iproute2/tc/q_esfq.c       2005-10-21 18:28:44.000000000 -0700
-@@ -0,0 +1,192 @@
+diff -Naur iproute2-2.6.19-061214.orig/tc/q_esfq.c 
iproute2-2.6.19-061214/tc/q_esfq.c
+--- iproute2-2.6.19-061214.orig/tc/q_esfq.c    1969-12-31 16:00:00.000000000 
-0800
++++ iproute2-2.6.19-061214/tc/q_esfq.c 2007-02-13 23:18:26.000000000 -0800
+@@ -0,0 +1,224 @@
 +/*
 + * q_esfq.c           ESFQ.
 + *
@@ -22,7 +68,9 @@
 + * Authors:   Alexey Kuznetsov, <[EMAIL PROTECTED]>
 + *
 + * Changes:   Alexander Atanasov, <[EMAIL PROTECTED]>
-+ *            Added depth,limit,divisor,hash_kind options.
++ *            Alexander Clouter, <[EMAIL PROTECTED]>
++ *            Corey Hickey, <[EMAIL PROTECTED]>
++ *
 + */
 +
 +#include <stdio.h>
@@ -43,7 +91,7 @@
 +{
 +      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 | fwmark | src_dir | 
dst_dir | fwmark_dir }\n");
++      fprintf(stderr,"HASHTYPE := { classic | src | dst | fwmark | src_dir | 
dst_dir | fwmark_dir | ctorigdst | ctorigsrc | ctrepldst | ctreplsrc}\n");
 +}
 +
 +#define usage() return(-1)
@@ -85,8 +133,8 @@
 +                              fprintf(stderr, "Illegal \"divisor\"\n");
 +                              return -1;
 +                      }
-+                      if(opt.divisor >= 15) {
-+                              fprintf(stderr, "Illegal \"divisor\" must be < 
15\n");
++                      if(opt.divisor >= 14) {
++                              fprintf(stderr, "Illegal \"divisor\": must be < 
14\n");
 +                              return -1;
 +                      }
 +                      opt.divisor=pow(2,opt.divisor);
@@ -114,12 +162,30 @@
 +                      } else
 +                      if(strcmp(*argv, "dst_direct") == 0) {
 +                              opt.hash_kind= TCA_SFQ_HASH_DSTDIR;
++                              fprintf(stderr, "Warning: \"dst_direct\" is 
deprecated\n"
++                                      "use \"dst\" instead\n");
 +                      } else
 +                      if(strcmp(*argv, "src_direct") == 0) {
 +                              opt.hash_kind= TCA_SFQ_HASH_SRCDIR;
++                              fprintf(stderr, "Warning: \"src_direct\" is 
deprecated\n"
++                                      "use \"src\" instead\n");
 +                      } else
 +                      if(strcmp(*argv, "fwmark_direct") == 0) {
 +                              opt.hash_kind= TCA_SFQ_HASH_FWMARKDIR;
++                              fprintf(stderr, "Warning: \"fwmark_direct\" is 
deprecated\n"
++                                      "use \"fwmark\" instead\n");
++                      } else
++                      if(strcmp(*argv, "ctorigsrc") == 0) {
++                              opt.hash_kind= TCA_SFQ_HASH_CTORIGSRC;
++                      } else
++                      if(strcmp(*argv, "ctorigdst") == 0) {
++                              opt.hash_kind= TCA_SFQ_HASH_CTORIGDST;
++                      } else
++                      if(strcmp(*argv, "ctreplsrc") == 0) {
++                              opt.hash_kind= TCA_SFQ_HASH_CTREPLSRC;
++                      } else
++                      if(strcmp(*argv, "ctrepldst") == 0) {
++                              opt.hash_kind= TCA_SFQ_HASH_CTREPLDST;
 +                      } else {
 +                              fprintf(stderr, "Illegal \"hash\"\n");
 +                              explain();
@@ -184,6 +250,18 @@
 +              break;
 +      case TCA_SFQ_HASH_FWMARKDIR:
 +              fprintf(f,"fwmark_direct");
++              break;
++      case TCA_SFQ_HASH_CTORIGSRC:
++              fprintf(f,"ctorigsrc");
++              break;
++      case TCA_SFQ_HASH_CTORIGDST:
++              fprintf(f,"ctorigdst");
++              break;
++      case TCA_SFQ_HASH_CTREPLSRC:
++              fprintf(f,"ctreplsrc");
++              break;
++      case TCA_SFQ_HASH_CTREPLDST:
++              fprintf(f,"ctrepldst");
 +              break;
 +      default:
 +              fprintf(f,"Unknown");
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/SOURCES/esfq-iproute2.patch?r1=1.2&r2=1.3&f=u

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to