---- a/doc/ip-cref.tex
-+++ b/doc/ip-cref.tex
-@@ -1324,6 +1324,19 @@ peers are allowed to send to us.
- If it is not given, Linux uses the value selected with \verb|sysctl|
- variable \verb|net/ipv4/tcp_reordering|.
+---
+ Makefile | 4
+ doc/Makefile | 8
+ doc/ip-cref.tex | 16 +
+ include/linux/pkt_sched.h | 518 ++++++++++++++++++++++++++++++++++++++++++++++
+ ip/iptunnel.c | 2
+ misc/Makefile | 3
+ tc/Makefile | 1
+ tc/q_htb.c | 308 +++++++++++++++++++++++++++
+ tc/q_wrr.c | 322 ++++++++++++++++++++++++++++
+ 9 files changed, 1177 insertions(+), 5 deletions(-)
+
+--- iproute2-2.6.35.orig/doc/ip-cref.tex
++++ iproute2-2.6.35/doc/ip-cref.tex
+@@ -1307,6 +1307,19 @@ peers are allowed to send to us.
+ --- \threeonly the clamp for congestion window. It is ignored if the \verb|lock|
+ flag is not used.
+\item \verb|hoplimit NUMBER|
+
+ window size. If it is not given (or set to zero), Linux uses the
+ values specified in~\cite{RFC2414}.
+ \item \verb|advmss NUMBER|
- \item \verb|nexthop NEXTHOP|
-@@ -2653,6 +2666,9 @@ http://www.cisco.com/univercd/cc/td/doc/
- \bibitem{RFC-DHCP} R.~Droms.
- ``Dynamic Host Configuration Protocol.'', RFC-2131
+@@ -2664,6 +2677,9 @@ http://www.cisco.com/univercd/cc/td/doc/
+ \bibitem{RFC2414} M.~Allman, S.~Floyd, C.~Partridge.
+ ``Increasing TCP's Initial Window'', RFC-2414.
++
+\bibitem{RFC2414} M.~Allman, S.~Floyd, C.~Partridge.
+``Increasing TCP's Initial Window'', RFC-2414.
-+
- \end{thebibliography}
+ \end{thebibliography}
---- a/doc/Makefile
-+++ b/doc/Makefile
+--- iproute2-2.6.35.orig/doc/Makefile
++++ iproute2-2.6.35/doc/Makefile
@@ -14,6 +14,7 @@ PAGESIZE=a4
PAGESPERPAGE=2
clean:
- rm -f *.aux *.log *.toc $(PSFILES) $(DVIFILES) *.html
+ rm -f *.aux *.log *.toc $(PSFILES) $(DVIFILES) *.html $(TXTFILES)
---- a/include/linux/pkt_sched.h
-+++ b/include/linux/pkt_sched.h
+--- iproute2-2.6.35.orig/include/linux/pkt_sched.h
++++ iproute2-2.6.35/include/linux/pkt_sched.h
@@ -1,3 +1,409 @@
+#if 0
+#ifndef __LINUX_PKT_SCHED_H
#ifndef __LINUX_PKT_SCHED_H
#define __LINUX_PKT_SCHED_H
-@@ -518,4 +924,116 @@ struct tc_drr_stats
+@@ -481,4 +887,116 @@ struct tc_drr_stats {
__u32 deficit;
};
+};
+
#endif
---- a/ip/iproute.c
-+++ b/ip/iproute.c
-@@ -73,7 +73,7 @@ static void usage(void)
- fprintf(stderr, " [ rtt TIME ] [ rttvar TIME ]\n");
- fprintf(stderr, " [ window NUMBER] [ cwnd NUMBER ] [ initcwnd NUMBER ]\n");
- fprintf(stderr, " [ ssthresh NUMBER ] [ realms REALM ] [ src ADDRESS ]\n");
-- fprintf(stderr, " [ rto_min TIME ]\n");
-+ fprintf(stderr, " [ rto_min TIME ] [ hoplimit NUMBER ]\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");
-@@ -792,6 +792,30 @@ int iproute_modify(int cmd, unsigned fla
- invarg("\"reordering\" value is invalid\n", *argv);
- rta_addattr32(mxrta, sizeof(mxbuf), RTAX_REORDERING, reord);
- #endif
-+#ifdef RTAX_HOPLIMIT
-+ } else if (strcmp(*argv, "hoplimit") == 0) {
-+ unsigned hoplim;
-+ NEXT_ARG();
-+ if (strcmp(*argv, "lock") == 0) {
-+ mxlock |= (1<<RTAX_HOPLIMIT);
-+ NEXT_ARG();
-+ }
-+ if (get_unsigned(&hoplim, *argv, 0))
-+ invarg("\"hoplimit\" value is invalid\n", *argv);
-+ rta_addattr32(mxrta, sizeof(mxbuf), RTAX_HOPLIMIT, hoplim);
-+#endif
-+#ifdef RTAX_INITCWND
-+ } else if (strcmp(*argv, "initcwnd") == 0) {
-+ unsigned initcwnd;
-+ NEXT_ARG();
-+ if (strcmp(*argv, "lock") == 0) {
-+ mxlock |= (1<<RTAX_HOPLIMIT);
-+ NEXT_ARG();
-+ }
-+ if (get_unsigned(&initcwnd, *argv, 0))
-+ invarg("\"initcwnd\" value is invalid\n", *argv);
-+ rta_addattr32(mxrta, sizeof(mxbuf), RTAX_INITCWND, initcwnd);
-+#endif
- } else if (strcmp(*argv, "rtt") == 0) {
- unsigned rtt;
- NEXT_ARG();
---- a/ip/iptunnel.c
-+++ b/ip/iptunnel.c
-@@ -134,7 +134,7 @@ static int parse_args(int argc, char **a
+--- iproute2-2.6.35.orig/ip/iptunnel.c
++++ iproute2-2.6.35/ip/iptunnel.c
+@@ -130,7 +130,7 @@ static int parse_args(int argc, char **a
NEXT_ARG();
p->o_flags |= GRE_KEY;
if (strchr(*argv, '.'))
else {
if (get_unsigned(&uval, *argv, 0)<0) {
fprintf(stderr, "invalid value of \"okey\"\n");
---- a/Makefile
-+++ b/Makefile
-@@ -49,7 +49,7 @@ install: all
+--- iproute2-2.6.35.orig/Makefile
++++ iproute2-2.6.35/Makefile
+@@ -57,7 +57,7 @@ install: all
$(DESTDIR)$(DOCDIR)/examples
install -m 0644 $(shell find examples/diffserv -maxdepth 1 -type f) \
$(DESTDIR)$(DOCDIR)/examples/diffserv
install -m 0644 $(shell find etc/iproute2 -maxdepth 1 -type f) $(DESTDIR)$(CONFDIR)
install -m 0755 -d $(DESTDIR)$(MANDIR)/man8
install -m 0644 $(shell find man/man8 -maxdepth 1 -type f) $(DESTDIR)$(MANDIR)/man8
-@@ -67,7 +67,7 @@ snapshot:
+@@ -75,7 +75,7 @@ snapshot:
clean:
rm -f cscope.*
do $(MAKE) $(MFLAGS) -C $$i clean; done
clobber: clean
---- a/misc/Makefile
-+++ b/misc/Makefile
+--- iproute2-2.6.35.orig/misc/Makefile
++++ iproute2-2.6.35/misc/Makefile
@@ -1,7 +1,8 @@
SSOBJ=ss.o ssfilter.o
LNSTATOBJ=lnstat.o lnstat_util.o
include ../Config
---- a/tc/Makefile
-+++ b/tc/Makefile
-@@ -14,6 +14,7 @@ TCMODULES += q_cbq.o
+--- iproute2-2.6.35.orig/tc/Makefile
++++ iproute2-2.6.35/tc/Makefile
+@@ -15,6 +15,7 @@ TCMODULES += q_cbq.o
TCMODULES += q_rr.o
TCMODULES += q_multiq.o
TCMODULES += q_netem.o
TCMODULES += f_rsvp.o
TCMODULES += f_u32.o
TCMODULES += f_route.o
---- a/tc/q_htb.c
-+++ b/tc/q_htb.c
+--- iproute2-2.6.35.orig/tc/q_htb.c
++++ iproute2-2.6.35/tc/q_htb.c
@@ -1,3 +1,311 @@
+#if 0
+/*
* q_htb.c HTB.
*
--- /dev/null
-+++ b/tc/q_wrr.c
++++ iproute2-2.6.35/tc/q_wrr.c
@@ -0,0 +1,322 @@
+#include <stdio.h>
+#include <stdlib.h>