The patch also corrects a few ntohs->htons's (DOH!), a potential problem
in option parsing, and why weren't we throwing away duplicate packets?
(Although thinking about it, it _might_ be redundant...)
-b
P.S: I've also encountered random keyboard lockups, but they're few and
far between. Oh well...
P.P.S: Also, acks do not seem to be delayed by much at all - we really
need a better estimator.
Well, here it is:
----cut----
begin 664 fast_recovery.patch.gz
M'XL(".]C<3$``V9A<W1?<F5C+G!A=&-H`+U8VW+;R!%]!K^B[50<DN`-I"A2
ME.6RUJ:SREZLDI3:5#9;*!`8BK,$`008D%94_O><N8`$>%'6+U')`M#3W3/3
M??I,CP,^GU,[3\GI##KC<9='?I@'K!LQT<UB?]E94,BC_,N1@5J[W3YM9MU[
M@JX3.!Z0,YP,SR?]"W(N+LYKMFV?]&G=YY&V.L/O9-"?#!UM]?X]M?M.OW5.
MMGR,Z/W[&EEYE/''B`64+>)46-:&1T&\N<2(Z^:#/AW^A%XFH.5F[-^7\KO;
M)+SF+/(91?EJQE+:+%A$&Z94*4\"3V`"L6"DO<NA>#Z'8K.+B=9QZ`D>,MJN
M)8RC1R)/Q)?EB3&1YR])\!6+<R%M[1.VUAP3IS"W8"/?*65^O&;I4]GZ],QA
MZJ^EXN5NYM^19LXR+$KO"AK:QWX`9T^"92Z&$<-NLQ:\``_A)T?1H>2GP*$&
M*]@XGPQ'D[/SE[!AC$K0&$YZ`-1H!PUGJ*`A'QH:[(M@:43KF"-W?H)\1X&;
M+6=UA#;W!4F\4;-%Q>?2G>78:[-Q><(6R:O:9LN3N@$+O2=VU*9%/!)%'N'`
M/NI`9MTMLOY-4Z<L8Z)>143F!4':VH-)H(7&+^P7`1`M%BV@@@IQDL8BIJ9\
M;%7C1/`XRJB)EZTP8&N."FKB:7889^9%A'*Q!U"2B>7)^DQFU^51DHN.;W)_
M;*@,J&/C1S`UVL?4<;L*XPP=D$Z9<33A&%!14_ZC3S?_F-[+-\NZ94$:TUT,
M!K$FUL<XGZ$>KS_\0+/\L69+C>]8]+NWXA']Z'WO\8Q-K,\J@)1X:<:CQQ9]
MDA5Y5Y3XIKO*0\$3^`GC+$/1)I*3%/7(.5&U-?J3*0]ZJW?FQ]&</W86[W0Q
MC'M8L.V,G9;3TT2)E<1SY%QXM/`RA;^`))-P0;X7D?"68+5(S2EHGGHK5IH7
M#[&`MG:4"2_$M(\=^O6>,?J;Y\>S#!NZ^_3!&?0'+;H7;,V`D(</M]V;6^)A
MF&>`:=C_33GHUMI6M:PDG&V+SZE.^&B_`_(97S,74<U9)TG9FEY=4?V@5M\<
M*#?HS1MZ==Q'^QTFP[8;F,MZJ=3T<EB8L8KF=HR^RAR`'A5$S@<M9PB0G(]:
MSMA$FZP,(?,7]3CQXX`UM.Q9/RS?RY@,SN?;!W?Z^<<)XB'%5LI$GD9R;OR$
M+'H4"[JBGA$@QP+)9I='O/S\^78B3XL[-I_(/-#H8H!SS5=`&W0<3?9J$NVW
MW2[<6(E(\65)<WG(Q4G&_\.NFA"C<+P9XD(;0,:C%<\43':^]I=D'@&;>\#P
M=E]\7M=>WU[U&W*>:\59&8#QM*63,(X3@(KF,5*E#U=C7HK+H3MZ_@:'*HZ'
MD2WM0WU_+?9W+(G6-HW5%/QT?S_1U2<1(<^B_JC7,H"P%+@E+`,&9F@HD96D
M(,AE_?4U.#W(DY#[:#7`"T"IZ/PK>MW0<95S':L7K&\Y<_,(M2AE,R-<SE/&
M]%&WG(%=[J93]VYZ_5%YVP63U#[-BB_.%&$,>H/=BM5J01@H#B]X@K-63Q$Y
MP:YMJN/_6K5%`<F.QKR`C6[F:,C^`I`"GAGT/!-`'$V(%X';\-G1^QR@<Y2U
M"IK:MI#&S:^_H/\#TP4QJH!GG=^V0]L7#4C\F*?<.18],RML%/)G/(U".>40
M*FDYZXFD?KE,D#/:T&KNC9?#U)L!Z1LR=X8_8?QHVQ43U0BX7U9<N)+M4YE`
M>KCY:>K^<G?S,&TA7I%:'AK5%GW_SVZ_H5Q+^Z]_A"$E#A03OGBRX]0X>;07
M8R?/]D)A[S+1'T^&O1</]YUAI6G$Z5YN&@>J3O'70*$(J#X=%3_LA";*9?&V
M62ZX1`I-\U[HH14T\7^CL1`6,Z3%22*7<C88R0H\&XR+Q5BDJA!4K::7Z+BB
MA8BCL&Z6A`834E/6?LB\M-QX9ENL*!_F(+^B2,2+K*Z3&^*$</6(U#8$4E&7
M,YY65RLL<.(O&+"!#E(ATS2=FD7T*RA;"F;:4!F;0W2D6BQ[M"M+X<!%G*=H
M*K%FME%^\M7JR16+CAZX+-14:.2^PKJD&"51<Q@[K$Z8`!K))N6"J3N@[$6<
M/Q`>9:@C5-$_%9^MOEGC4P1EI_B4-\'29YX:7*E8C!4L1^.S5G^@@X'X_2\0
MV8BD[#<?0%XTSR-]]./=1[,&-!>7VHVGFG.TYEQP>=QX>U?,=J&EW$%3T:A8
MX%"13)K!$C9IO&FAQQ5:Y*7R$IJRD'OH?SO2$H?MMUYI:O8SHEN]"IN+4M$>
MOBI5F&[CS(7X2@$M%:)[1K9DLV&OTL-MU0K6*\KT[5MR)/TU+WHZN4<.6L/8
M/TSO?G8_3K_[^U_I]=%K^83^'.;@[E;Y?K='"J4-[:>RP[XD'+0-K>*^;I?U
M7T:!K9K2H[?V"C7JJ8[RL1DZ2<=F_)NO6EN[ZG_NC"=.^:JE6A#\-5>6VNYB
M6]YI??\6*SQT!L_[5XHJN!I:KT#1_J@:K+!\XZ#Q/^GPX)IP"/03MMMKQ'\!
(9^'=4(43``!T
`
end