Re: tcp_timestamps problems with BSD ? (2.2.14,2.2.16)

From: Filius, Arjan (arjan@atriserv.nl)
Date: Fri Jun 09 2000 - 06:47:11 EST


Hello,

On Fri, 9 Jun 2000, Aki M Laukkanen wrote:

> On Fri, 9 Jun 2000, Filius, Arjan wrote:
> > Here it is: (i shortened it because maximum message size on linux-kernel)
>
> Your other dump had:
> 06:16:44.644780 194.151.216.202.http > 10.1.3.120.search-agent: . 1481498025:1481499473(1448) ack 510105446 win 8760 <nop,nop,timestamp 301982 6399689> (frag 16472:1480@0+) (ttl 46)
> 06:16:44.644809 194.151.216.202 > 10.1.3.120: (frag 16472:12@1480) (ttl 46)
> 06:16:44.645085 10.1.3.120.search-agent > 194.151.216.202.http: R 510105446:510105446(0) win 0 (ttl 255, id 10073)
>
> Btw. WTF was that? Almost looks like pure garbage. Infoseek search agent
> doesn't say much to me.

It't just port 1234, just like any other >1023 port on my machine

>
> > With tcp_timestamp=1:
> > 06:24:13.273021 194.151.216.202.http > 10.1.3.120.1269: . 141:141(0) ack 443 win 8760 <nop,nop,timestamp 303429 6445420> (DF) (ttl 46, id 128)
> > 06:24:13.296879 194.151.216.202.http > 10.1.3.120.1271: . 1013:1013(0) ack 383 win 8760 <nop,nop,timestamp 303430 6445422> (DF) (ttl 46, id 140)
> > 06:24:13.338438 10.1.3.120.1252 > 194.151.216.202.http: . 324:324(0) ack 11681 win 32120 <nop,nop,timestamp 6445430 302878> (DF) (ttl 64, id 10152)
> > 06:25:20.831866 194.151.216.202.http > 10.1.3.120.1252: . 11681:13129(1448) ack 324 win 8760 <nop,nop,timestamp 303014 6445430> (frag 49066:1480@0+) (ttl 46)
> > 06:25:20.831896 194.151.216.202 > 10.1.3.120: (frag 49066:12@1480) (ttl 46)
>
> The sender embeds a TCP timestamp option to the message which causes
> fragmentation. Maybe that throws something on the route seriously
> off-balance? Your Firewall/NAT box?

I don't think so, i'm able to reproduce this on a linux firewall which
connects to an other isp.

>
> Should we prevent fragmentation? The logic below is passive. In active
> case the other host might not support timestamps and then we'd be stuck
> with a lower mss.

Perhaps a interesting note: we had fragmentation/ipchains "problems" with
"this" site at te firewall, and i enabled reassemly in kernel.

>
> --- linux-2.4.0-test1-ac6.bak/net/ipv4/tcp_output.c Wed Apr 12 19:12:36 2000
> +++ linux-2.4.0-test1-ac6/net/ipv4/tcp_output.c Fri Jun 9 15:48:15 2000
> @@ -998,8 +1003,10 @@
> th->window = htons(req->rcv_wnd);
>
> TCP_SKB_CB(skb)->when = tcp_time_stamp;
> - tcp_syn_build_options((__u32 *)(th + 1), dst->advmss, req->tstamp_ok,
> - req->sack_ok, req->wscale_ok, req->rcv_wscale,
> + tcp_syn_build_options((__u32 *)(th + 1),
> + req->tstamp_ok ? dst->advmss - TCOLEN_TSTAMP_ALIGNED : dst->advmss,
> + req->tstamp_ok, req->sack_ok,
> + req->wscale_ok, req->rcv_wscale,
> TCP_SKB_CB(skb)->when,
> req->ts_recent);
>
I'm affraight i can't try this out yet (weekend) en it's not reproducable
at home (still)

Arjan Filius
mailto:arjan@atriserv.nl

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Jun 15 2000 - 21:00:18 EST