tuexen
7e13d9800b
Consistently check for unsent data on the stream queues.
...
MFC after: 3 days
2016-08-07 23:04:46 +00:00
tuexen
0a5a343096
Remove stream queue entry consistently from wheel.
...
While there, improve the handling of drain.
MFC after: 3 days
2016-08-07 12:51:13 +00:00
tuexen
e091a23d8b
Use a separate MID counter for ordered und unordered messages for each
...
outgoing stream.
Thanks to Jens Hoelscher for reporting the issue.
MFC after: 1 week
2016-06-08 17:57:42 +00:00
sephe
7acd138965
net: Use M_HASHTYPE_OPAQUE_HASH if the mbuf flowid has hash properties
...
Reviewed by: hps, erj, tuexen
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6688
2016-06-07 04:51:50 +00:00
pfg
779a64139d
netinet/sctp*: minor spelling fixes in comments.
...
No functional change.
Reviewed by: tuexen
2016-05-02 20:56:11 +00:00
tuexen
a750782f5b
When a client uses UDP encapsulation and lists IP addresses in the INIT
...
chunk, enable UDP encapsulation for all those addresses.
This helps clients using a userland stack to support multihoming if
they are not behind a NAT.
MFC after: 1 week
2016-05-01 21:48:55 +00:00
tuexen
20431f1fde
Add the UDP encaps port as a parameter to sctp_add_remote_addr().
...
This is currently only a code change without any functional
change. But this allows to set the remote encapsulation port
in a more detailed way, which will be provided in a follow-up
commit.
MFC after: 1 week
2016-04-30 14:25:00 +00:00
tuexen
d1da7b18c1
Put panic() calls under INVARIANTS.
2016-04-18 09:29:14 +00:00
tuexen
eac27e6ed9
Remove a left-over debug printf().
2016-04-18 06:32:24 +00:00
rrs
28010098ff
This is work done by Michael Tuexen and myself at the IETF. This
...
adds the new I-Data (Interleaved Data) message. This allows a user
to be able to have complete freedom from Head Of Line blocking that
was previously there due to the in-ability to send multiple large
messages without the TSN's being in sequence. The code as been
tested with Michaels various packet drill scripts as well as
inter-networking between the IETF's location in Argentina and Germany.
2016-04-07 09:10:34 +00:00
tuexen
632abb6423
Trigger sending of queued ASCONF chunks if outstanding ones are ACKED.
...
MFC after: 1 week
2016-03-28 11:32:20 +00:00
tuexen
1af093855e
Improve compilation on windows 64-bit (for the userland stack).
...
MFC after: 1 week
2016-03-27 10:04:25 +00:00
tuexen
914cf89c0e
Add some protection code.
...
CID: 1331893
MFC after: 3 days
2016-02-18 21:21:45 +00:00
tuexen
0a576daa3e
Add protection code for issues reported by PVS / D5245.
...
MFC after: 3 days
2016-02-17 18:12:38 +00:00
tuexen
5827747532
Update the path mtu when turning on/off UDP encapsulation for SCTP.
...
MFC after: 3 days
2016-01-30 16:56:39 +00:00
tuexen
9aecdeee5e
Don't allow a remote encapsulation port change during the
...
SCTP restart procedure.
MFC after: 3 days
2016-01-30 12:58:38 +00:00
tuexen
8a9d3a9d9f
Don't change the remote UDP encapsulation port for SCTP packets
...
containing an INIT chunk.
MFC after: 3 days
2016-01-30 11:10:22 +00:00
tuexen
e147122490
Remove debug output which was committed by accident.
...
Thanks to Oliver Pinter for reporting.
MFC after: 3 days
X-MFC with: r294995
2016-01-28 23:12:12 +00:00
tuexen
845cb3f3dc
Always look in the TCP pool.
...
This fixes issues with a restarting peer when the listening
1-to-1 style socket is closed.
MFC after: 3 days
2016-01-28 16:05:46 +00:00
tuexen
0e4efe126f
Retire sctp_validate_no_locks().
...
This routine checks that there are no locks held for an inp,
without having any lock on the inp. This breaks if the inp
goes away when it is called. This happens on stress tests
on a RPi B+.
MFC after: 3 days
2015-12-10 11:49:32 +00:00
tuexen
23770ab942
Fix the allocation of outgoing streams:
...
* When processing a cookie, use the number of
streams announced in the INIT-ACK.
* When sending an INIT-ACK for an existing
association, use the value from the association,
not from the end-point.
MFC after: 1 week
2015-12-06 16:17:57 +00:00
tuexen
bd73213861
Fix a bug where a stream reset request wasn't retranmitted when the
...
peer indicated "In progress".
MFC after: 1 week
2015-12-04 08:49:27 +00:00
tuexen
e5fb4876d3
Ensure that outgoing streams get reset when they run dry.
...
MFC after: 1 week
2015-12-03 15:19:29 +00:00
tuexen
9b472b7eb5
Adjust the MTU when accepting an SCTP association using
...
UDP encapsulation.
MFC after: 1 week
2015-12-02 16:29:36 +00:00
tuexen
9e0a6fa539
When processing a cookie, any mismatch in port numbers or the vtag results
...
in failing the check.
This fixes https://github.com/nplab/ETSI-SCTP-Conformance-Testsuite/blob/master/sctp-imh-tests/sctp-imh-i-3-3.pkt
MFC after: 1 week
2015-10-26 21:19:49 +00:00
tuexen
d8710b5322
Use __func__ instead of __FUNCTION__.
...
This allows to compile the userland stack without errors using gcc5.
Thanks to saghul for makeing me aware and providing the patch.
MFC after: 1 week
2015-10-19 11:17:54 +00:00
tuexen
63946e657e
Fix compilation issue introduced in r287717.
...
Thanks to bz@ for making me aware of it.
MFC after: 1 week
2015-09-12 21:23:24 +00:00
tuexen
779fa4b9f9
Address a compile warning.
...
MFC after: 1 week
2015-09-12 18:00:06 +00:00
tuexen
5429764526
Cleanup the handling of error causes for ERROR chunks. This fixes
...
an inconsistency of the padding handling. The final padding is
now considered to be a chunk padding.
MFC after: 1 week
2015-09-12 17:08:51 +00:00
tuexen
1947f60716
Ensure that ERROR chunks are always padded by implementing this
...
in the routine, which queues an ERROR chunk, instead on relyinh
on the callers to do so. Since one caller missed this, this actially
fixes a bug.
MFC after: 1 week
2015-09-11 13:54:33 +00:00
tuexen
8a1adc38eb
RFC 4960 requires that packets containing an INIT chunk bundled with
...
another chunk are silently discarded. Do so, instead of sending an
ABORT.
MFC after: 1 week
2015-09-07 14:00:38 +00:00
tuexen
056def9261
Fix a bug where two SHUTDOWN_ACK chunks were sent if a SHUTDOWN chunk was
...
received acking all outstanding data.
2015-09-03 22:15:56 +00:00
tuexen
7f035ef5b6
Don't take the port numbers for packets containing ABORT chunks from
...
a freed mbuf. Just use them from the stcb.
MFC after: 3 days
2015-08-02 16:07:30 +00:00
tuexen
63528763eb
Provide consistent error causes whenever an ABORT chunk is sent.
...
MFC after: 1 week
2015-07-27 22:35:54 +00:00
rrs
f1b6d4d83c
Fix silly syntax error emacs chugged in for me.. gesh.
...
MFC after: 3 weeks
2015-07-24 14:13:43 +00:00
rrs
69d858f584
Fix an issue with MAC OS locking and also optimize the case
...
where we are sending back a stream-reset and a sack timer is running, in
that case we should just send the SACK.
MFC after: 3 weeks
2015-07-24 14:09:03 +00:00
rrs
606fc6cd55
Fix several problems with Stream Reset.
...
1) We were not handling (or sending) the IN_PROGRESS case if
the other side (or our side) was not able to reset (awaiting more data).
2) We would improperly send a stream-reset when we should not. Not
waiting until the TSN had been assigned when data was inqueue.
Reviewed by: tuexen
2015-07-22 11:30:37 +00:00
tuexen
25a52b7a51
Fix a bug related to flow assignment I introduce in
...
https://svnweb.freebsd.org/base?view=revision&revision=275483
MFC after: 3 days
2015-06-17 19:26:23 +00:00
tuexen
2af840e2ac
Add FIB support for SCTP.
...
This fixes https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=200379
MFC after: 3 days
2015-06-17 15:20:14 +00:00
tuexen
a82f33e60c
Fix and cleanup the debug information. This has no user-visible changes.
...
Thanks to Irene Ruengeler for proving a patch.
MFC after: 3 days
2015-05-28 16:00:23 +00:00
tuexen
02ec72fed7
Ensure that the COOKIE-ACK can be sent over UDP if the COOKIE-ECHO was
...
received over UDP.
Thanks to Felix Weinrank for makeing me aware of the problem and to
Irene Ruengeler for providing the fix.
MFC after: 1 week
2015-05-12 08:08:16 +00:00
tuexen
484c3b2b61
Add a SCTP socket option to limit the cwnd for each path.
...
MFC after: 1 month
2015-03-10 19:49:25 +00:00
delphij
5cdb10065c
Fix SCTP stream reset vulnerability.
...
We would like to acknowledge Gerasimos Dimitriadis who reported
the issue and Michael Tuexen who analyzed and provided the
fix.
Security: FreeBSD-SA-15:03.sctp
Security: CVE-2014-8613
Submitted by: tuexen
2015-01-27 19:35:38 +00:00
tuexen
d9a8f0535a
Remove an unnecessary check.
...
Reported by: Coverity
CID: 749576
MFC after: 1 week
2015-01-18 21:16:22 +00:00
tuexen
b7186e1b6e
Remove dead code.
...
Reported by: Coverity
CID: 748663
MFC after: 1 week
2015-01-11 22:49:20 +00:00
tuexen
c118a100d9
Minimize the usage of SCTP_BUF_IS_EXTENDED.
...
This should help Robert...
2015-01-10 20:49:57 +00:00
tuexen
aed8b33869
Retire SCTP_BUF_EXTEND_SIZE. This patch was suggested by
...
Robert Watson.
2015-01-10 13:56:26 +00:00
ae
7c61e1dea8
Do not count security policy violation twice.
...
ipsec*_in_reject() do this by their own.
Obtained from: Yandex LLC
Sponsored by: Yandex LLC
2014-12-11 19:20:13 +00:00
tuexen
990e36073f
Include the received chunk padding when reporting an unknown chunk.
...
MFC after: 1 week
2014-12-06 22:57:19 +00:00
tuexen
48d05792ee
This is the SCTP specific companion of
...
https://svnweb.freebsd.org/changeset/base/275358
which was provided by Hans Petter Selasky.
2014-12-04 21:17:50 +00:00