Date: Sat, 14 Mar 2009 13:22:52 -0700 From: Garrett Cooper <yanefbsd@gmail.com> To: Kostik Belousov <kostikbel@gmail.com> Cc: svn-src-head@freebsd.org, Randall Stewart <rrs@freebsd.org>, svn-src-all@freebsd.org, src-committers@freebsd.org, FreeBSD Current <freebsd-current@freebsd.org> Subject: Fixes for SCTP compile errors on CURRENT [was Re: svn commit: r189790 - head/sys/netinet] Message-ID: <7d6fde3d0903141322m2171e0d9h84788db92d5eaa14@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
On Sat, Mar 14, 2009 at 12:54 PM, Garrett Cooper <yanefbsd@gmail.com> wrote= : > On Sat, Mar 14, 2009 at 9:06 AM, Kostik Belousov <kostikbel@gmail.com> wr= ote: >> 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: >>> =A0 Fixes several PR-SCTP releated bugs. >>> =A0 =A0- When sending large PR-SCTP messages over a >>> =A0 =A0 =A0lossy link we would incorrectly calculate the fwd-tsn >>> =A0 =A0- When receiving large multipart pr-sctp packets we would >>> =A0 =A0 =A0incorrectly send back a SACK that would renege improperly >>> =A0 =A0 =A0on already received packets thus causing unneeded retransmis= sions. >> >> With this commit, I get >> /usr/home/kostik/work/build/bsd/DEV/src/sys/netinet/sctp_indata.c: In fu= nction '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 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- 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; }; /*
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?7d6fde3d0903141322m2171e0d9h84788db92d5eaa14>