From owner-freebsd-current@FreeBSD.ORG Fri Nov 23 07:31:10 2007 Return-Path: Delivered-To: current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1370116A418 for ; Fri, 23 Nov 2007 07:31:10 +0000 (UTC) (envelope-from ianf@clue.co.za) Received: from munchkin.clue.co.za (munchkin.clue.co.za [66.219.59.160]) by mx1.freebsd.org (Postfix) with ESMTP id E418913C458 for ; Fri, 23 Nov 2007 07:31:09 +0000 (UTC) (envelope-from ianf@clue.co.za) DomainKey-Signature: a=rsa-sha1; q=dns; c=simple; s=20070313; d=clue.co.za; h=Received:Received:Received:To:cc:From:Subject:In-Reply-To:X-Attribution:Date:Message-Id; b=pv9G9/NjqHqkyAWzE96sU15z5MhCTGe+uywt2JybBV/IRs2i0o69YN97YIVIFwXhgQFBFav/TnVK4KsDoFfpJdonQ5u8Q6czXT+4uuXj6fcJuGRhRf6lY4NXcqI8CMzvrGmuLAUhkiQiKS/hfJ2bNfcSjLFQ6cSWAw5UNmaITOD/hYsoJBf6Voi9TfVOIGPZKfYrdbWBDBFn1IOoV/FI39s3pxcXqgP634p/Kjy5UFK60XmJi0AOXNkA1u61U3tL; Received: from uucp by munchkin.clue.co.za with local-rmail (Exim 4.67) (envelope-from ) id 1IvT0H-0004Ev-6g; Fri, 23 Nov 2007 07:31:09 +0000 Received: from dsl-241-95-40.telkomadsl.co.za ([41.241.95.40] helo=clue.co.za) by urchin.clue.co.za with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.67) (envelope-from ) id 1IvSzQ-0000YZ-Nf; Fri, 23 Nov 2007 07:30:17 +0000 Received: from localhost ([127.0.0.1] helo=clue.co.za) by clue.co.za with esmtp (Exim 4.68 (FreeBSD)) (envelope-from ) id 1IvSzO-0001Fv-Q2; Fri, 23 Nov 2007 09:30:14 +0200 To: "Kip Macy" From: Ian FREISLICH In-Reply-To: Message from "Kip Macy" of "Thu, 22 Nov 2007 22:29:53 PST." X-Attribution: BOFH Date: Fri, 23 Nov 2007 09:30:14 +0200 Message-Id: Cc: current@freebsd.org Subject: Re: TCP RST+data! X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 Nov 2007 07:31:10 -0000 "Kip Macy" wrote: > On Nov 22, 2007 12:14 PM, Ian FREISLICH wrote: > > Hi > > > > I have a device (sip/iax phone) that has a web interface and a > > poorly documented CLI. The only thing is it sends a RST with its > > last data packet. "Stevens" seems to indicate an RST should discard > > buffered data and I suspect that's what's happening when I try to > > browse to it. > > > > However, Windows and MacOs both pull up the web page. Is this a > > bug in our TCP implimentation or in theirs? > > > > Here's a tcpdump of seamonkey trying to retrieve the document index: > > > > 22:07:53.728516 IP (tos 0x0, ttl 64, id 24507, offset 0, flags [DF], proto TCP (6), length 60) 196.7.162.28.50118 > 196.7.162.30.80: S, cksum 0xdbdd (corr ect), 2746220400:2746220400(0) win 65535 > > 22:07:53.731512 IP (tos 0x0, ttl 64, id 36, offset 0, flags [DF], proto TCP (6), length 60) 196.7.162.30.80 > 196.7.162.28.50118: S, cksum 0xbdba (correct ), 2416404465:2416404465(0) ack 2746220401 win 8192 > > 22:07:53.731543 IP (tos 0x0, ttl 64, id 24508, offset 0, flags [DF], proto TCP (6), length 52) 196.7.162.28.50118 > 196.7.162.30.80: ., cksum 0xe8f5 (corr ect), 1:1(0) ack 1 win 8326 > > 22:07:53.731593 IP (tos 0x0, ttl 64, id 24509, offset 0, flags [DF], proto TCP (6), length 428) 196.7.162.28.50118 > 196.7.162.30.80: P 1:377(376) ack 1 w in 8326 > > 22:07:53.770545 IP (tos 0x0, ttl 64, id 37, offset 0, flags [DF], proto TCP (6), length 52) 196.7.162.30.80 > 196.7.162.28.50118: ., cksum 0xe948 (correct ), 1:1(0) ack 377 win 7867 > > 22:07:54.004963 IP (tos 0x0, ttl 64, id 38, offset 0, flags [DF], proto TCP (6), length 61) 196.7.162.30.80 > 196.7.162.28.50118: P, cksum 0xcdea (correct ), 1:10(9) ack 377 win 8192 > > 22:07:54.018027 IP (tos 0x0, ttl 64, id 39, offset 0, flags [DF], proto TCP (6), length 638) 196.7.162.30.80 > 196.7.162.28.50118: RP 10:608(598) ack 377 win 8192 [!RST+ 200 OK\015\012Server: Rapid Logic/1.] > > This is very strange behavior. Could you please send us a tcpdump when > the session is between an OS X host and your phone? Here's the Mac's dump. Bad checksums are as a result of my router doing checksum offload. 09:24:10.019973 IP (tos 0x0, ttl 55, id 48909, offset 0, flags [DF], proto TCP ( 6), length 64, bad cksum 0 (->f011)!) 196.40.106.74.64291 > 196.7.162.30.80: S, cksum 0x3c59 (correct), 301090670:301090670(0) win 65535 09:24:10.022507 IP (tos 0x0, ttl 64, id 12, offset 0, flags [DF], proto TCP (6), length 60) 196.7.162.30.80 > 196.40.106.74.64291: S, cksum 0xf8f8 (correct), 21 76824040:2176824040(0) ack 301090671 win 8192 09:24:10.416650 IP (tos 0x0, ttl 55, id 61711, offset 0, flags [DF], proto TCP ( 6), length 52, bad cksum 0 (->be1b)!) 196.40.106.74.64291 > 196.7.162.30.80: ., cksum 0x44b9 (correct), 1:1(0) ack 1 win 65535 09:24:10.577601 IP (tos 0x0, ttl 55, id 61541, offset 0, flags [DF], proto TCP ( 6), length 458, bad cksum 0 (->bd2f)!) 196.40.106.74.64291 > 196.7.162.30.80: P 1:407(406) ack 1 win 65535 09:24:10.738611 IP (tos 0x0, ttl 64, id 13, offset 0, flags [DF], proto TCP (6), length 52) 196.7.162.30.80 > 196.40.106.74.64291: ., cksum 0x23c3 (correct), 1: 1(0) ack 407 win 8031 09:24:10.866023 IP (tos 0x0, ttl 64, id 14, offset 0, flags [DF], proto TCP (6), length 61) 196.7.162.30.80 > 196.40.106.74.64291: P, cksum 0x0909 (correct), 1: 10(9) ack 407 win 8192 09:24:11.227653 IP (tos 0x0, ttl 55, id 15217, offset 0, flags [DF], proto TCP ( 6), length 52, bad cksum 0 (->73ba)!) 196.40.106.74.64291 > 196.7.162.30.80: ., cksum 0x4310 (correct), 407:407(0) ack 10 win 65535 09:24:11.229397 IP (tos 0x0, ttl 64, id 15, offset 0, flags [DF], proto TCP (6), length 650) 196.7.162.30.80 > 196.40.106.74.64291: P 10:608(598) ack 407 win 81 92 09:24:11.875439 IP (tos 0x0, ttl 55, id 41795, offset 0, flags [DF], proto TCP ( 6), length 52, bad cksum 0 (->be8)!) 196.40.106.74.64291 > 196.7.162.30.80: ., c ksum 0x40b4 (correct), 407:407(0) ack 608 win 65535 09:24:12.115839 IP (tos 0x0, ttl 55, id 56578, offset 0, flags [DF], proto TCP ( 6), length 497, bad cksum 0 (->d06b)!) 196.40.106.74.64291 > 196.7.162.30.80: P 407:852(445) ack 608 win 65535 09:24:12.123050 IP (tos 0x0, ttl 64, id 16, offset 0, flags [DF], proto TCP (6), length 52) 196.7.162.30.80 > 196.40.106.74.64291: ., cksum 0x20b1 (correct), 60 8:608(0) ack 852 win 7748 09:24:12.132396 IP (tos 0x0, ttl 55, id 19785, offset 0, flags [DF], proto TCP ( 6), length 64, bad cksum 0 (->61d6)!) 196.40.106.74.64292 > 196.7.162.30.80: S, cksum 0x95b7 (correct), 3177988738:3177988738(0) win 65535 09:24:12.134450 IP (tos 0x0, ttl 64, id 17, offset 0, flags [DF], proto TCP (6), length 60) 196.7.162.30.80 > 196.40.106.74.64292: S, cksum 0xda12 (correct), 21 77444639:2177444639(0) ack 3177988739 win 8192 09:24:12.556400 IP (tos 0x0, ttl 55, id 4930, offset 0, flags [DF], proto TCP (6), length 52, bad cksum 0 (->9be9)!) 196.40.106.74.64292 > 196.7.162.30.80: ., c ksum 0x25d0 (correct), 1:1(0) ack 1 win 65535 09:24:12.643024 IP (tos 0x0, ttl 64, id 18, offset 0, flags [DF], proto TCP (6), length 61) 196.7.162.30.80 > 196.40.106.74.64291: P, cksum 0x04dc (correct), 60 8:617(9) ack 852 win 8192 09:24:12.720907 IP (tos 0x0, ttl 64, id 19, offset 0, flags [DF], proto TCP (6), length 1488) 196.7.162.30.80 > 196.40.106.74.64291: . 617:2053(1436) ack 852 wi n 8192 09:24:12.723086 IP (tos 0x0, ttl 64, id 20, offset 0, flags [DF], proto TCP (6), length 1488) 196.7.162.30.80 > 196.40.106.74.64291: . 2053:3489(1436) ack 852 w in 8192 09:24:12.723845 IP (tos 0x0, ttl 55, id 1044, offset 0, flags [DF], proto TCP (6 ), length 498, bad cksum 0 (->a959)!) 196.40.106.74.64292 > 196.7.162.30.80: P 1 :447(446) ack 1 win 65535 09:24:12.725434 IP (tos 0x0, ttl 64, id 21, offset 0, flags [DF], proto TCP (6), length 1488) 196.7.162.30.80 > 196.40.106.74.64291: . 3489:4925(1436) ack 852 w in 8192 09:24:12.727310 IP (tos 0x0, ttl 64, id 22, offset 0, flags [DF], proto TCP (6), length 1488) 196.7.162.30.80 > 196.40.106.74.64291: . 4925:6361(1436) ack 852 w in 8192 09:24:12.729147 IP (tos 0x0, ttl 64, id 23, offset 0, flags [DF], proto TCP (6), length 52) 196.7.162.30.80 > 196.40.106.74.64292: ., cksum 0x05cf (correct), 1: 1(0) ack 447 win 7746 09:24:13.067356 IP (tos 0x0, ttl 55, id 10063, offset 0, flags [DF], proto TCP ( 6), length 52, bad cksum 0 (->87dc)!) 196.40.106.74.64291 > 196.7.162.30.80: ., cksum 0x3edf (correct), 852:852(0) ack 617 win 65535 09:24:13.069725 IP (tos 0x0, ttl 64, id 24, offset 0, flags [DF], proto TCP (6), length 1488) 196.7.162.30.80 > 196.40.106.74.64291: . 6361:7797(1436) ack 852 w in 8192 09:24:13.612605 IP (tos 0x0, ttl 55, id 33080, offset 0, flags [DF], proto TCP ( 6), length 52, bad cksum 0 (->2df3)!) 196.40.106.74.64291 > 196.7.162.30.80: ., cksum 0x393e (correct), 852:852(0) ack 2053 win 65535 09:24:13.615909 IP (tos 0x0, ttl 64, id 25, offset 0, flags [DF], proto TCP (6), length 1488) 196.7.162.30.80 > 196.40.106.74.64291: . 7797:9233(1436) ack 852 w in 8192 09:24:14.034890 IP (tos 0x0, ttl 55, id 18490, offset 0, flags [DF], proto TCP ( 6), length 52, bad cksum 0 (->66f1)!) 196.40.106.74.64291 > 196.7.162.30.80: ., cksum 0x339e (correct), 852:852(0) ack 3489 win 65535 09:24:14.037880 IP (tos 0x0, ttl 64, id 26, offset 0, flags [DF], proto TCP (6), length 1488) 196.7.162.30.80 > 196.40.106.74.64291: . 9233:10669(1436) ack 852 win 8192 09:24:14.038501 IP (tos 0x0, ttl 64, id 27, offset 0, flags [DF], proto TCP (6), length 458) 196.7.162.30.80 > 196.40.106.74.64291: P 10669:11075(406) ack 852 w in 8192 09:24:14.410965 IP (tos 0x0, ttl 55, id 11591, offset 0, flags [DF], proto TCP ( 6), length 52, bad cksum 0 (->81e4)!) 196.40.106.74.64291 > 196.7.162.30.80: ., cksum 0x2dfe (correct), 852:852(0) ack 4925 win 65535 09:24:14.671674 IP (tos 0x0, ttl 64, id 28, offset 0, flags [DF], proto TCP (6), length 61) 196.7.162.30.80 > 196.40.106.74.64292: P, cksum 0xe9f4 (correct), 1: 10(9) ack 447 win 8192 09:24:14.768234 IP (tos 0x0, ttl 64, id 29, offset 0, flags [DF], proto TCP (6), length 1488) 196.7.162.30.80 > 196.40.106.74.64292: . 10:1446(1436) ack 447 win 8192 09:24:14.770275 IP (tos 0x0, ttl 64, id 30, offset 0, flags [DF], proto TCP (6), length 1488) 196.7.162.30.80 > 196.40.106.74.64292: . 1446:2882(1436) ack 447 w in 8192 09:24:14.874342 IP (tos 0x0, ttl 55, id 21310, offset 0, flags [DF], proto TCP ( 6), length 498, bad cksum 0 (->5a2f)!) 196.40.106.74.64292 > 196.7.162.30.80: P 1:447(446) ack 1 win 65535 09:24:14.875774 IP (tos 0x0, ttl 64, id 31, offset 0, flags [DF], proto TCP (6), length 67) 196.7.162.30.80 > 196.40.106.74.64292: ., cksum 0x173a (correct), 28 82:2897(15) ack 447 win 8192 09:24:14.903540 IP (tos 0x0, ttl 55, id 49938, offset 0, flags [DF], proto TCP ( 6), length 52, bad cksum 0 (->ec18)!) 196.40.106.74.64291 > 196.7.162.30.80: ., cksum 0x285e (correct), 852:852(0) ack 6361 win 65535 09:24:15.211142 IP (tos 0x0, ttl 55, id 60968, offset 0, flags [DF], proto TCP ( 6), length 52, bad cksum 0 (->c102)!) 196.40.106.74.64291 > 196.7.162.30.80: ., cksum 0x22bd (correct), 852:852(0) ack 7797 win 65535 09:24:15.633655 IP (tos 0x0, ttl 55, id 13860, offset 0, flags [DF], proto TCP ( 6), length 52, bad cksum 0 (->7907)!) 196.40.106.74.64291 > 196.7.162.30.80: ., cksum 0x1d1c (correct), 852:852(0) ack 9233 win 65535 09:24:16.104111 IP (tos 0x0, ttl 55, id 25678, offset 0, flags [DF], proto TCP ( 6), length 52, bad cksum 0 (->4add)!) 196.40.106.74.64291 > 196.7.162.30.80: ., cksum 0x177b (correct), 852:852(0) ack 10669 win 65535 09:24:16.123089 IP (tos 0x0, ttl 55, id 36874, offset 0, flags [DF], proto TCP ( 6), length 52, bad cksum 0 (->1f21)!) 196.40.106.74.64291 > 196.7.162.30.80: ., cksum 0x15e4 (correct), 852:852(0) ack 11075 win 65535 09:24:16.124208 IP (tos 0x0, ttl 64, id 32, offset 0, flags [DF], proto TCP (6), length 59) 196.7.162.30.80 > 196.40.106.74.64291: P, cksum 0xa4ac (correct), 11 075:11082(7) ack 852 win 8192 09:24:16.135131 IP (tos 0x0, ttl 55, id 56115, offset 0, flags [DF], proto TCP ( 6), length 52, bad cksum 0 (->d3f7)!) 196.40.106.74.64292 > 196.7.162.30.80: ., cksum 0x23e1 (correct), 447:447(0) ack 10 win 65535 09:24:16.137501 IP (tos 0x0, ttl 64, id 33, offset 0, flags [DF], proto TCP (6), length 1488) 196.7.162.30.80 > 196.40.106.74.64292: . 2897:4333(1436) ack 447 w in 8192 09:24:16.623113 IP (tos 0x0, ttl 55, id 21319, offset 0, flags [DF], proto TCP ( 6), length 52, bad cksum 0 (->5be4)!) 196.40.106.74.64292 > 196.7.162.30.80: ., cksum 0x1e40 (correct), 447:447(0) ack 1446 win 65535 09:24:16.625549 IP (tos 0x0, ttl 64, id 34, offset 0, flags [DF], proto TCP (6), length 1488) 196.7.162.30.80 > 196.40.106.74.64292: . 4333:5769(1436) ack 447 w in 8192 09:24:16.627199 IP (tos 0x0, ttl 64, id 35, offset 0, flags [DF], proto TCP (6), length 1488) 196.7.162.30.80 > 196.40.106.74.64292: . 5769:7205(1436) ack 447 w in 8192 09:24:16.907004 IP (tos 0x0, ttl 55, id 64535, offset 0, flags [DF], proto TCP ( 6), length 52, bad cksum 0 (->b313)!) 196.40.106.74.64292 > 196.7.162.30.80: ., cksum 0x1892 (correct), 447:447(0) ack 2897 win 65535 09:24:16.909525 IP (tos 0x0, ttl 64, id 36, offset 0, flags [DF], proto TCP (6), length 1488) 196.7.162.30.80 > 196.40.106.74.64292: . 7205:8641(1436) ack 447 w in 8192 09:24:16.911552 IP (tos 0x0, ttl 64, id 37, offset 0, flags [DF], proto TCP (6), length 1488) 196.7.162.30.80 > 196.40.106.74.64292: . 8641:10077(1436) ack 447 win 8192 09:24:16.930337 IP (tos 0x0, ttl 55, id 6525, offset 0, flags [DF], proto TCP (6 ), length 52, bad cksum 0 (->95ae)!) 196.40.106.74.64291 > 196.7.162.30.80: ., c ksum 0x15d1 (correct), 852:852(0) ack 11082 win 65535 09:24:17.426650 IP (tos 0x0, ttl 55, id 48666, offset 0, flags [DF], proto TCP ( 6), length 52, bad cksum 0 (->f110)!) 196.40.106.74.64292 > 196.7.162.30.80: ., cksum 0x12ee (correct), 447:447(0) ack 4333 win 65535 09:24:17.430860 IP (tos 0x0, ttl 64, id 38, offset 0, flags [DF], proto TCP (6), length 1488) 196.7.162.30.80 > 196.40.106.74.64292: . 10077:11513(1436) ack 447 win 8192 09:24:17.885974 IP (tos 0x0, ttl 55, id 2937, offset 0, flags [DF], proto TCP (6 ), length 52, bad cksum 0 (->a3b2)!) 196.40.106.74.64292 > 196.7.162.30.80: ., c ksum 0x0d4d (correct), 447:447(0) ack 5769 win 65535 09:24:17.888808 IP (tos 0x0, ttl 64, id 39, offset 0, flags [DF], proto TCP (6), length 1448) 196.7.162.30.80 > 196.40.106.74.64292: P 11513:12909(1396) ack 447 win 8192 09:24:18.244997 IP (tos 0x0, ttl 55, id 58221, offset 0, flags [DF], proto TCP ( 6), length 52, bad cksum 0 (->cbbd)!) 196.40.106.74.64292 > 196.7.162.30.80: ., cksum 0x07ad (correct), 447:447(0) ack 7205 win 65535 09:24:18.642182 IP (tos 0x0, ttl 55, id 15887, offset 0, flags [DF], proto TCP ( 6), length 52, bad cksum 0 (->711c)!) 196.40.106.74.64292 > 196.7.162.30.80: ., cksum 0x020c (correct), 447:447(0) ack 8641 win 65535 09:24:19.087859 IP (tos 0x0, ttl 55, id 32823, offset 0, flags [DF], proto TCP ( 6), length 52, bad cksum 0 (->2ef4)!) 196.40.106.74.64292 > 196.7.162.30.80: ., cksum 0xfc6b (correct), 447:447(0) ack 10077 win 65535 09:24:19.441905 IP (tos 0x0, ttl 55, id 2353, offset 0, flags [DF], proto TCP (6 ), length 52, bad cksum 0 (->a5fa)!) 196.40.106.74.64292 > 196.7.162.30.80: ., c ksum 0xf6ca (correct), 447:447(0) ack 11513 win 65535 09:24:19.634885 IP (tos 0x0, ttl 55, id 58716, offset 0, flags [DF], proto TCP ( 6), length 52, bad cksum 0 (->c9ce)!) 196.40.106.74.64292 > 196.7.162.30.80: ., cksum 0xf160 (correct), 447:447(0) ack 12909 win 65522 09:24:19.637152 IP (tos 0x0, ttl 64, id 40, offset 0, flags [DF], proto TCP (6), length 1027) 196.7.162.30.80 > 196.40.106.74.64292: P 12909:13884(975) ack 447 win 8192 09:24:20.357258 IP (tos 0x0, ttl 55, id 1649, offset 0, flags [DF], proto TCP (6 ), length 52, bad cksum 0 (->a8ba)!) 196.40.106.74.64292 > 196.7.162.30.80: ., c ksum 0xed79 (correct), 447:447(0) ack 13884 win 65535 09:24:20.603850 IP (tos 0x0, ttl 55, id 279, offset 0, flags [DF], proto TCP (6) , length 420, bad cksum 0 (->aca4)!) 196.40.106.74.64291 > 196.7.162.30.80: P 85 2:1220(368) ack 11082 win 65535 09:24:20.611056 IP (tos 0x0, ttl 64, id 41, offset 0, flags [DF], proto TCP (6), length 52) 196.7.162.30.80 > 196.40.106.74.64291: ., cksum 0xf5a3 (correct), 11 082:11082(0) ack 1220 win 7825 09:24:20.837236 IP (tos 0x0, ttl 64, id 42, offset 0, flags [DF], proto TCP (6), length 61) 196.7.162.30.80 > 196.40.106.74.64291: P, cksum 0xda1b (correct), 11 082:11091(9) ack 1220 win 8192 09:24:21.188762 IP (tos 0x0, ttl 55, id 24409, offset 0, flags [DF], proto TCP ( 6), length 52, bad cksum 0 (->4fd2)!) 196.40.106.74.64291 > 196.7.162.30.80: ., cksum 0x1423 (correct), 1220:1220(0) ack 11091 win 65535 09:24:21.190332 IP (tos 0x0, ttl 64, id 43, offset 0, flags [DF], proto TCP (6), length 283) 196.7.162.30.80 > 196.40.106.74.64291: P 11091:11322(231) ack 1220 win 8192 09:24:21.668014 IP (tos 0x0, ttl 55, id 3099, offset 0, flags [DF], proto TCP (6 ), length 52, bad cksum 0 (->a310)!) 196.40.106.74.64291 > 196.7.162.30.80: ., c ksum 0x1337 (correct), 1220:1220(0) ack 11322 win 65535 -- Ian Freislich