From owner-cvs-all@FreeBSD.ORG Sat Nov 11 22:44:13 2006 Return-Path: X-Original-To: cvs-all@FreeBSD.org Delivered-To: cvs-all@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3643B16A47B; Sat, 11 Nov 2006 22:44:13 +0000 (UTC) (envelope-from rrs@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D8C1B43D49; Sat, 11 Nov 2006 22:44:12 +0000 (GMT) (envelope-from rrs@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kABMiC0T080315; Sat, 11 Nov 2006 22:44:12 GMT (envelope-from rrs@repoman.freebsd.org) Received: (from rrs@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kABMiCWV080314; Sat, 11 Nov 2006 22:44:12 GMT (envelope-from rrs) Message-Id: <200611112244.kABMiCWV080314@repoman.freebsd.org> From: Randall Stewart Date: Sat, 11 Nov 2006 22:44:12 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Cc: Subject: cvs commit: src/sys/netinet sctp_constants.h sctp_input.c sctp_output.c sctputil.c sctputil.h X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Nov 2006 22:44:13 -0000 rrs 2006-11-11 22:44:12 UTC FreeBSD src repository Modified files: sys/netinet sctp_constants.h sctp_input.c sctp_output.c sctputil.c sctputil.h Log: In a true restart case, the send_lock was not being aquired. This meant that when we cleanup the outbound we may have one in transit to be added with the old sequence number. This is bad since then we loose a message :( Also the report_outbound needed to have the right lock when its called which it did not.. I added the lock with of course a flag since we want to have the lock before we call it in the restart case. This also fixed the FIX ME case where, in the cookie collision case, we mark for retransmit any that were bundled with the cookie that was dropped. This also means changes to the output routine so we can assure getting the COOKIE-ACK sent BEFORE we retransmit the Data. Approved by: gnn Revision Changes Path 1.3 +1 -0 src/sys/netinet/sctp_constants.h 1.8 +38 -12 src/sys/netinet/sctp_input.c 1.6 +11 -2 src/sys/netinet/sctp_output.c 1.7 +11 -5 src/sys/netinet/sctputil.c 1.4 +1 -1 src/sys/netinet/sctputil.h