tuexen
6266aedc70
Whitespace changes.
...
The toolchain for processing the sources has been updated. No functional
change.
MFC after: 3 days
2016-12-26 11:06:41 +00:00
tuexen
ae1856036a
Whitespace changes.
...
The tools using to generate the sources has been updated and produces
different whitespaces. Commit this seperately to avoid intermixing
these with real code changes.
MFC after: 3 days
2016-12-06 10:21:25 +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
8d5a88a7e3
Whitespace changes.
2016-02-16 20:33:18 +00:00
tuexen
f5f409a8f0
Improve the teardown of the SCTP stack.
...
Obtained from: bz@
MFC after: 1 week
2016-02-16 19:36:25 +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
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
70a364cfb0
Correctly detect the case where the last address is removed.
...
MFC after: 3 days
2015-06-14 22:14:00 +00:00
tuexen
9794079730
Fix a bug where messages would not be sent in SHUTDOWN_RECEIVED state.
...
This problem was reported by Mark Bonnekessel and Markus Boese.
Thanks to Irene Ruengeler for helping me to fix the cause of
the problem. It can be tested with the following packetdrill script:
+0.0 socket(..., SOCK_STREAM, IPPROTO_SCTP) = 3
+0.0 fcntl(3, F_GETFL) = 0x2 (flags O_RDWR)
+0.0 fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK) = 0
// Check the handshake with an empty(!) cookie
+0.1 connect(3, ..., ...) = -1 EINPROGRESS (Operation now in progress)
+0.0 > sctp: INIT[flgs=0, tag=1, a_rwnd=..., os=..., is=..., tsn=0, ...]
+0.1 < sctp: INIT_ACK[flgs=0, tag=2, a_rwnd=10000, os=1, is=1, tsn=0, STATE_COOKIE[len=4, val=...]]
+0.0 > sctp: COOKIE_ECHO[flgs=0, len=4, val=...]
+0.1 < sctp: COOKIE_ACK[flgs=0]
+0.0 getsockopt(3, SOL_SOCKET, SO_ERROR, [0], [4]) = 0
+0.0 write(3, ..., 1024) = 1024
+0.0 > sctp: DATA[flgs=BE, len=1040, tsn=0, sid=0, ssn=0, ppid=0]
+0.0 write(3, ..., 1024) = 1024 // Pending due to Nagle
+0.0 < sctp: SHUTDOWN[flgs=0, cum_tsn=0]
+0.0 > sctp: DATA[flgs=BE, len=1040, tsn=1, sid=0, ssn=1, ppid=0]
+0.0 < sctp: SACK[flgs=0, cum_tsn=1, a_rwnd=10000, gaps=[], dups=[]] // Do we need another SHUTDOWN here?
+0.0 > sctp: SHUTDOWN_ACK[flgs=0]
+0.0 < sctp: SHUTDOWN_COMPLETE[flgs=0]
+0.0 close(3) = 0
MFC after: 3 days
2015-05-28 18:34:02 +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
632195efc5
Add protection code to free memory in case of processing an address which
...
is neither IPv4 or IPv6.
Reported by: Coverity
CID: 749311
MFC after: 1 week
2015-01-18 20:53:20 +00:00
tuexen
3044089fce
Remove dead code.
...
Reported by: Coverity
CID: 1018053
MFC after: 1 week
2015-01-12 07:29:35 +00:00
tuexen
f30e2ae152
Remove dead code.
...
Reported by: Coverity
CID: 748660, 748661
MFC after: 1 week
2015-01-11 22:23:39 +00:00
tuexen
c7b009940d
Address another warnings reported by Patrick Laimbock when compiling
...
in userspace. While there, improve consistency.
MFC after: 1 week
2014-09-07 17:07:19 +00:00
tuexen
a20e3eb506
Use union sctp_sockstore instead of struct sockaddr_storage. This
...
eliminiates some warnings when building in userland.
Thanks to Patrick Laimbock for reporting this issue.
Remove also some unnecessary casts.
There should be no functional change.
MFC after: 1 week
2014-09-07 09:06:26 +00:00
tuexen
b57b7cb252
Add support for the SCTP_AUTH_SUPPORTED and SCTP_ASCONF_SUPPORTED
...
socket options. Add also a sysctl to control the support of ASCONF.
MFC after: 1 week
2014-08-12 11:30:16 +00:00
tuexen
d9071b7221
Honor jails for unbound SCTP sockets when selecting source addresses,
...
reporting IP-addresses to the peer during the handshake, adding
addresses to the host, reporting the addresses via the sysctl
interface (used by netstat, for example) and reporting the
addresses to the application via socket options.
This issue was reported by Bernd Walter.
MFC after: 3 days
2014-06-20 13:26:49 +00:00
tuexen
f3b2b3c813
Make sure that we don't try to build an ASCONF-ACK chunk
...
larger than what fits in the the mbuf cluster.
This issue was reported by Andrew Galante.
MFC after: 3 days
2013-11-07 17:08:09 +00:00
tuexen
31bb748547
Use htons()/ntohs() appropriately.
...
These issues were reported by Andrew Galante.
MFC after: 3 days
2013-11-07 16:37:12 +00:00
tuexen
d30ae7faf7
Changes from upstream to improve compilation when INET or INET6
...
or none of them is defined.
MFC after: 3 days
2013-11-02 20:12:19 +00:00
tuexen
e36ca7ff41
Allow the code to be compiled without warnings for any combination
...
of INET, INET6 and SCTP_DEBUG defines.
The issue was reported by Lally Singh.
MFC after: 2 weeks
2013-07-20 13:14:59 +00:00
tuexen
026c1e8b1a
Cleanup the handling of address scopes. Announce in the INIT/INIT-ACK
...
only the supported address types. While there, do some whitespace
cleanups.
MFC after: 1 week
2013-02-09 17:26:14 +00:00
glebius
8e20fa5ae9
Mechanically substitute flags from historic mbuf allocator with
...
malloc(9) flags within sys.
Exceptions:
- sys/contrib not touched
- sys/mbuf.h edited manually
2012-12-05 08:04:20 +00:00
tuexen
5f95805e1a
Whitespace cleanup.
...
MFC after: 10 days
2012-09-08 20:54:54 +00:00
tuexen
1f0bc9debb
Using %p in a format string requires a void *.
...
MFC after: 10 days
2012-09-05 18:52:01 +00:00
tuexen
2357a49326
Changes which improve compilation if neither INET nor INET6 is defined.
...
MFC after: 3 days
2012-07-15 20:16:17 +00:00
tuexen
d2f6540a5c
Pass the src and dst address of a received packet explicitly around.
...
MFC after: 3 days
2012-06-28 16:01:08 +00:00
tuexen
39dac9db3f
Use an existing function to get the source address.
...
MFC after: 3 days
2012-06-03 14:54:50 +00:00
tuexen
4d270d9b7f
Small cleanups. No functional change.
...
MFC after: 3 days
2012-06-01 08:26:50 +00:00
tuexen
25827ad382
Use consistent text at the begining of the files.
...
MFC after: 3 days
2012-05-23 11:26:28 +00:00
tuexen
b3431e25a4
Provide in the association change notification the received ABORT chunk
...
if case of SCTP_COMM_LOST or SCTP_CANT_STR_ASSOC as required by RFC 6458.
MFC after: 3 days
2012-05-12 20:11:35 +00:00
tuexen
b9ef107414
Address issues found by clang. While there, fix also some style
...
issues.
MFC after: 3 months.
2011-12-27 10:16:24 +00:00
tuexen
3a4d069b21
Fix unused parameter warnings.
...
While there, fix some whitespace issues.
MFC after: 3 months.
2011-12-17 19:21:40 +00:00
tuexen
cc85bd26ed
Fix a typo introduced in
...
http://svn.freebsd.org/changeset/base/225571
Reported by Ilya A. Arkhipov.
Approved by: re
MFC after: 1 month.
2011-09-15 12:20:52 +00:00
tuexen
15bb2c985f
Make sure that SCTP rejects broadcast, multicast and wildcard addresses
...
as remote addresses.
Approved by: re
MFC after: 1 month.
2011-09-15 08:49:54 +00:00
tuexen
f47c615e88
The result of a joint work between rrs@ and myself at the IETF:
...
* Decouple the path supervision using a separate HB timer per path.
* Add support for potentially failed state.
* Bring back RTO.min to 1 second.
* Accept packets on IP-addresses already announced via an ASCONF
* While there: do some cleanups.
Approved by: re@
MFC after: 2 months.
2011-08-03 20:21:00 +00:00
tuexen
a51881ba59
Remove code with any effect.
2011-05-03 20:34:02 +00:00
tuexen
d1c74d7b85
Add a missing break. This bug was introduced in r221249.
...
MFC after: 1 week
2011-05-03 20:32:21 +00:00
tuexen
ad795d2c5d
Improve compilation of SCTP code without INET support.
...
Some bugs where fixed while doing this:
* ASCONF-ACK messages might use wrong port number when using
IPv6.
* Checking for additional addresses takes the correct address
into account and also does not do more comparisons than
necessary.
This patch is based on one received from bz@ who was
sponsored by The FreeBSD Foundation and iXsystems.
MFC after: 1 week
2011-04-30 11:18:16 +00:00
tuexen
fe85a97406
Remove addresses from endpoint when there are no associations.
...
This fixes a bug reported by brucec@.
MFC after: 3 months.
2011-02-10 14:46:37 +00:00
rrs
fa5090f1dd
1) Typo correction in comments and one spacing change.
...
2) Mass update to all copyrights.
MFC after: 3 Months
2011-02-05 12:12:51 +00:00
rrs
45cdff3dd8
1) Move per John Baldwin to mp_maxid
...
2) Some signed/unsigned errors found by Mac OS compiler (from Michael)
3) a couple of copyright updates on the effected files.
MFC after: 3 months
2011-02-03 19:22:21 +00:00
tuexen
12d4883ccf
Define and use SCTP_SSN_GE, SCTP_SSN_GT, SCTP_TSN_GE, SCTP_TSN_GT macros
...
and use them instead of the generic compare_with_wrap.
Retire compare_with_wrap.
MFC after: 3 months.
2010-12-30 21:32:35 +00:00
tuexen
839236cbc1
Code cleanup: Use LIST_FOREACH, LIST_FOREACH_SAFE, TAILQ_FOREACH,
...
TAILQ_FOREACH_SAFE where appropriate.
No functional change.
MFC after: 3 months.
2010-12-30 16:56:20 +00:00
tuexen
e71b6473c6
Fix three bugs related to the sequence number wrap-around affecting
...
the processing of ECNE and ASCONF chunks.
Reviewed by: rrs
MFC after: 3 days.
2010-12-30 16:23:13 +00:00
tuexen
790dcded4d
Delay the assignment of a path for DATA chunk until they hit
...
the sent_queue. Honor a given path when the SCTP_ADDR_OVER
flag is set.
MFC after: 2 weeks.
2010-09-15 23:10:45 +00:00
tuexen
9afd287a77
* Fix a bug where the length of the ASCONF-ACK was calculated wrong due
...
to using an uninitialized variable.
* Fix a bug where a NULL pointer was dereferenced when interfaces
come and go at a high rate.
* Fix a bug where inps where not deregistered from iterators.
* Fix a race condition in freeing an association.
* Fix a refcount problem related to the iterator.
Each of the above bug results in a panic. It shows up when
interfaces come and go at a high rate.
Obtained from: rrs (partly)
MFC after: 3 days
2010-06-14 21:25:07 +00:00
tuexen
312805d71c
* Fix compilation when using SCTP_AUDITING_ENABLED.
...
* Fix delaying of SACK by taking out old optimization code
which does not optimize anymore.
* Fix fast retransmission of chunks abandoned by the
"number of retransmissions" policy.
MFC after: 3 days.
2010-04-23 08:19:47 +00:00
tuexen
238a37de82
* Fix some race condition in SACK/NR-SACK processing.
...
* Fix handling of mapping arrays when draining mbufs or processing
FORWARD-TSN chunks.
* Cleanup code (no duplicate code anymore for SACKs and NR-SACKs).
Part of this code was developed together with rrs.
MFC after: 2 weeks.
2010-04-03 15:40:14 +00:00
mbr
7450f52a57
Remove extraneous semicolons, no functional changes.
...
Submitted by: Marc Balmer <marc@msys.ch>
MFC after: 1 week
2010-01-07 21:01:37 +00:00