Fixes for SCTP compile errors on CURRENT [was Re: svn commit:
r189790 - head/sys/netinet]
Garrett Cooper
yanefbsd at gmail.com
Sat Mar 14 13:22:54 PDT 2009
On Sat, Mar 14, 2009 at 12:54 PM, Garrett Cooper <yanefbsd at gmail.com> wrote:
> On Sat, Mar 14, 2009 at 9:06 AM, Kostik Belousov <kostikbel at gmail.com> wrote:
>> On Sat, Mar 14, 2009 at 01:42:14PM +0000, Randall Stewart wrote:
>>> Author: rrs
>>> Date: Sat Mar 14 13:42:13 2009
>>> New Revision: 189790
>>> URL: http://svn.freebsd.org/changeset/base/189790
>>>
>>> Log:
>>> Fixes several PR-SCTP releated bugs.
>>> - When sending large PR-SCTP messages over a
>>> lossy link we would incorrectly calculate the fwd-tsn
>>> - When receiving large multipart pr-sctp packets we would
>>> incorrectly send back a SACK that would renege improperly
>>> on already received packets thus causing unneeded retransmissions.
>>
>> With this commit, I get
>> /usr/home/kostik/work/build/bsd/DEV/src/sys/netinet/sctp_indata.c: In function 'sctp_express_handle_sack':
>> /usr/home/kostik/work/build/bsd/DEV/src/sys/netinet/sctp_indata.c:4772: error: 'struct sctp_data_chunkrec' has no member named 'fwd_tsn_cnt'
>> /usr/home/kostik/work/build/bsd/DEV/src/sys/netinet/sctp_indata.c:4773: error: 'struct sctp_data_chunkrec' has no member named 'fwd_tsn_cnt'
>> /usr/home/kostik/work/build/bsd/DEV/src/sys/netinet/sctp_indata.c:4775: error: 'struct sctp_data_chunkrec' has no member named 'fwd_tsn_cnt'
>
> As do I.
> -Garrett
The attached patch fixes all SCTP related compile errors, but I'm a
bit worried about whether or not discard_rest is set anywhere in the
code, or the entire data struct is properly zero'ed out (haven't
inspected it yet):
Thanks,
-Garrett
Index: sys/netinet/sctp_structs.h
===================================================================
--- sys/netinet/sctp_structs.h (revision 189829)
+++ sys/netinet/sctp_structs.h (working copy)
@@ -31,7 +31,7 @@
/* $KAME: sctp_structs.h,v 1.13 2005/03/06 16:04:18 itojun Exp $ */
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
+__FBSDID("$FreeBSD: src/sys/netinet/sctp_structs.h,v 1.30 2009/02/20
15:03:54 rrs Exp $");
#ifndef __sctp_structs_h__
#define __sctp_structs_h__
@@ -310,6 +310,8 @@
/* ECN Nonce: Nonce Value for this chunk */
uint8_t ect_nonce;
+ uint8_t fwd_tsn_cnt;
+
/*
* part of the Highest sacked algorithm to be able to stroke counts
* on ones that are FR'd.
@@ -445,6 +447,7 @@
uint8_t pr_sctp_on;
uint8_t sender_all_done;
uint8_t put_last_out;
+ uint8_t discard_rest;
};
/*
More information about the freebsd-current
mailing list