Messages in this thread Patch in this message | | | Date | Sun, 25 Feb 2001 16:38:36 +1300 | From | Chris Wedgwood <> | Subject | Re: [UPDATE] zerocopy BETA 3 |
| |
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 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |