Hi
I am seeing connection stall between Fedora 2 and BSD box. The BSD box seems to do the right thing.

On loosing some packets, BSD stack sends SACKs to linux saying what its got. Linux fills the holes, but get stuck in a particular segment.

15:13:38.630788 IP 153.1.5.58.47372 > 153.2.5.58.2153: . 392461:393871(1410) ack 125491 win 62040 <nop,nop,sack sack 1 {128001:129411} >
15:13:38.630792 IP 153.2.5.58.2153 > 153.1.5.58.47372: . ack 374991 win 1410
15:13:38.630794 IP 153.1.5.58.47372 > 153.2.5.58.2153: . 393871:395281(1410) ack 125491 win 62040 <nop,nop,sack sack 1 {128001:129411} >
15:13:38.630797 IP 153.2.5.58.2153 > 153.1.5.58.47372: . ack 374991 win 1410
15:13:38.630799 IP 153.1.5.58.47372 > 153.2.5.58.2153: . 395281:396691(1410) ack 125491 win 62040 <nop,nop,sack sack 1 {128001:129411} >
15:13:38.630802 IP 153.2.5.58.2153 > 153.1.5.58.47372: . ack 374991 win 1410
15:13:38.630804 IP 153.1.5.58.47372 > 153.2.5.58.2153: . 396691:398101(1410) ack 125491 win 62040 <nop,nop,sack sack 1 {128001:129411} >
15:13:38.630807 IP 153.2.5.58.2153 > 153.1.5.58.47372: . ack 374991 win 1410
15:13:38.845350 IP 153.2.5.58.2153 > 153.1.5.58.47372: . 124081:125491(1410) ack 374991 win 1410
15:13:38.868315 IP 153.1.5.58.47372 > 153.2.5.58.2153: . ack 125491 win 63450 <nop,nop,sack sack 1 {128001:129411} >
15:13:38.868320 IP 153.2.5.58.2153 > 153.1.5.58.47372: . ack 374991 win 1410
15:13:39.347022 IP 153.2.5.58.2153 > 153.1.5.58.47372: . 124081:125491(1410) ack 374991 win 1410
15:13:39.350512 IP 153.1.5.58.47372 > 153.2.5.58.2153: . ack 125491 win 63450 <nop,nop,sack sack 1 {128001:129411} >
15:13:39.350516 IP 153.2.5.58.2153 > 153.1.5.58.47372: . ack 374991 win 1410
15:13:39.840766 IP 153.1.5.58.47372 > 153.2.5.58.2153: . 374991:376401(1410) ack 125491 win 63450 <nop,nop,sack sack 1 {128001:129411} >
15:13:39.840771 IP 153.2.5.58.2153 > 153.1.5.58.47372: . 125491:126901(1410) ack 374991 win 1410
15:13:39.840774 IP 153.2.5.58.2153 > 153.1.5.58.47372: P 126901:128001(1100) ack 374991 win 1410



This is were the problem starts, as soon as BSD receive the segment ending at 128001, since BSD already have 128001:129411 in its reassembly queue it put them toghether and ack 129411. Linux for some reason don't accept the ack.

15:13:39.840778 IP 153.2.5.58.2153 > 153.1.5.58.47372: . ack 376401 win 0
15:13:39.841242 IP 153.1.5.58.47372 > 153.2.5.58.2153: . ack 126901 win 62040 <nop,nop,sack sack 1 {128001:129411} >
15:13:39.841244 IP 153.2.5.58.2153 > 153.1.5.58.47372: . ack 376401 win 0
15:13:39.841246 IP 153.1.5.58.47372 > 153.2.5.58.2153: . ack 129411 win 59530
15:13:39.841248 IP 153.2.5.58.2153 > 153.1.5.58.47372: . ack 376401 win 0
15:13:39.843205 IP 153.1.5.58.47372 > 153.2.5.58.2153: . ack 129411 win 63450
15:13:39.843207 IP 153.2.5.58.2153 > 153.1.5.58.47372: . ack 376401 win 0
15:13:40.844259 IP 153.2.5.58.2153 > 153.1.5.58.47372: . 125491:126901(1410) ack 376401 win 0
15:13:40.844835 IP 153.1.5.58.47372 > 153.2.5.58.2153: . ack 129411 win 63450
15:13:40.844840 IP 153.2.5.58.2153 > 153.1.5.58.47372: . ack 376401 win 0
15:13:42.851743 IP 153.2.5.58.2153 > 153.1.5.58.47372: . 125491:126901(1410) ack 376401 win 0
15:13:42.852142 IP 153.1.5.58.47372 > 153.2.5.58.2153: . ack 129411 win 63450
15:13:42.852149 IP 153.2.5.58.2153 > 153.1.5.58.47372: . ack 376401 win 0
15:13:46.867375 IP 153.2.5.58.2153 > 153.1.5.58.47372: . 125491:126901(1410) ack 376401 win 0
15:13:46.867704 IP 153.1.5.58.47372 > 153.2.5.58.2153: . ack 129411 win 63450
15:13:46.867710 IP 153.2.5.58.2153 > 153.1.5.58.47372: . ack 376401 win 0
15:13:54.897589 IP 153.2.5.58.2153 > 153.1.5.58.47372: . 125491:126901(1410) ack 376401 win 0
15:13:54.897917 IP 153.1.5.58.47372 > 153.2.5.58.2153: . ack 129411 win 63450
15:13:54.897924 IP 153.2.5.58.2153 > 153.1.5.58.47372: . ack 376401 win 0
15:14:10.959195 IP 153.2.5.58.2153 > 153.1.5.58.47372: . 125491:126901(1410) ack 376401 win 0
15:14:10.959467 IP 153.1.5.58.47372 > 153.2.5.58.2153: . ack 129411 win 63450
15:14:10.959475 IP 153.2.5.58.2153 > 153.1.5.58.47372: . ack 376401 win 0
15:14:43.082568 IP 153.2.5.58.2153 > 153.1.5.58.47372: . 125491:126901(1410) ack 376401 win 0
15:14:43.082816 IP 153.1.5.58.47372 > 153.2.5.58.2153: . ack 129411 win 63450
15:14:43.082824 IP 153.2.5.58.2153 > 153.1.5.58.47372: . ack 376401 win 0