netdev
[Top] [All Lists]

Re: [UPDATE] zerocopy BETA 3

To: Jan Rekorajski <baggins@xxxxxxxxxxxxxxxxx>, "David S. Miller" <davem@xxxxxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx, netdev@xxxxxxxxxxx
Subject: Re: [UPDATE] zerocopy BETA 3
From: Chris Wedgwood <cw@xxxxxxxx>
Date: Sun, 25 Feb 2001 16:38:36 +1300
In-reply-to: <20010223114249.A27608@xxxxxxxxxxxxxxxxx>; from baggins@xxxxxxxxxxxxxxxxx on Fri, Feb 23, 2001 at 11:42:49AM +0100
References: <14998.2628.144784.585248@xxxxxxxxxxxxxxx> <20010223114249.A27608@xxxxxxxxxxxxxxxxx>
Sender: owner-netdev@xxxxxxxxxxx
User-agent: Mutt/1.2.5i
On Fri, Feb 23, 2001 at 11:42:49AM +0100, Jan Rekorajski wrote:
    
    Could you please make a patch with this fix only? Or is it
    available somewhere?

--- linux-2.4.2/include/net/ip.h        Sun Feb 25 01:15:19 2001
+++ linux-2.4.2+zc-2/include/net/ip.h   Sun Feb 25 01:53:52 2001
@@ -188,11 +188,16 @@
 
 extern void __ip_select_ident(struct iphdr *iph, struct dst_entry *dst);
 
-static inline void ip_select_ident(struct iphdr *iph, struct dst_entry *dst)
+static inline void ip_select_ident(struct iphdr *iph, struct dst_entry *dst, 
struct sock *sk)
 {
-       if (iph->frag_off&__constant_htons(IP_DF))
-               iph->id = 0;
-       else
+       if (iph->frag_off&__constant_htons(IP_DF)) {
+               /* This is only to work around buggy Windows95/2000
+                * VJ compression implementations.  If the ID field
+                * does not change, they drop every other packet in
+                * a TCP stream using header compression.
+                */
+               iph->id = (sk ? sk->protinfo.af_inet.id++ : 0);
+       } else
                __ip_select_ident(iph, dst);
 }
 

FWIW; I am still seeing _really_ bad throughput on a 10M ethernet
segment between 2.4.2+zc-2 and Windows98 SE. Nobody else has
complained so I guess it is something local (mii-tool for Windows
wouldn't be a bad idea), but if the above doesn't work for you I'd
been keen to know about it.



  --cw

<Prev in Thread] Current Thread [Next in Thread>