Michael Tuexen
4474d71a7b
Integrate upstream changes.
...
MFC after: 1 week
2014-07-11 06:52:48 +00:00
Michael Tuexen
ff1ffd7499
* Provide information in error causes in ASCII instead of
...
proprietary binary format.
* Add support for a diagnostic information error cause.
The code is sysctlable and the default is 0, which
means it is not sent.
This is joint work with rrs@.
MFC after: 1 week
2014-03-16 12:32:16 +00:00
Michael Tuexen
1213f0e749
Remove redundant code and fix a style error.
...
MFC after: 3 days
2014-02-20 20:14:43 +00:00
Michael Tuexen
1a94cdbea7
Provide human readable debug output.
2013-08-25 12:44:03 +00:00
Andre Oppermann
9850f95989
For now limit printf(9) %x of the 64bit pkthdr.csum_flags field to 32bits.
...
The upper 32bits are not occupied for now.
Sponsored by: The FreeBSD Foundation
2013-08-25 09:49:00 +00:00
Andrey V. Elsukov
6794f46021
Remove the large part of struct ipsecstat. Only few fields of this
...
structure is used, but they already have equal fields in the struct
newipsecstat, that was introduced with FAST_IPSEC and then was merged
together with old ipsecstat structure.
This fixes kernel stack overflow on some architectures after migration
ipsecstat to PCPU counters.
Reported by: Taku YAMAMOTO, Maciej Milewski
2013-07-23 14:14:24 +00:00
Michael Tuexen
e5aeb83c42
Use IPSECSTAT_INC() and IPSEC6STAT_INC() macros for ipsec statistics
...
accounting.
X-MFC with: r252026
2013-07-09 14:38:26 +00:00
Michael Tuexen
ee1ccd9258
Fix a bug were only 2048 streams where usable even though more than
...
2048 streams were negotiated on the wire. While there, remove the
hard coded limit of 2048 streams.
MFC after: 3 days
2013-07-05 10:08:49 +00:00
Michael Tuexen
5db47b3def
When processing an incoming ABORT, SHUTDOWN_COMPLETE or ERROR (NAT related)
...
chunk, take always the T-bit into account, when checking the verification
tag.
MFC after: 3 days
2013-07-04 19:47:46 +00:00
Michael Tuexen
56f778aadf
Code cleanups.
...
MFC after: 3 days
2013-07-03 18:48:43 +00:00
Michael Tuexen
a1cb341b5d
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
Michael Tuexen
c39cfa1f7e
Fix a bug where HEARTBEATs were still sent in SHUTDOWN_SENT or
...
SHUTDOWN_ACK_SENT state. While there, make the corresponding
code consistent.
MFC after: 1 week
2013-02-09 08:27:08 +00:00
Gleb Smirnoff
eb1b1807af
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
Michael Tuexen
325c8c46b1
Get the accounting working. We now have counters how many
...
chunks for each SCTP outgoing stream are in the send and
sent queue.
While there, improve the naming of NR-SACK related constants
recently introduced.
MFC after: 1 week
2012-11-16 19:39:10 +00:00
Michael Tuexen
a7ad6026e0
Add per outgoing stream accounting for chunks in the send
...
and sent queue. This provides no functional change, but is
a preparation for an upcoming stream reset improvement.
Done with rrs@.
MFC after: 1 week
2012-11-07 22:11:38 +00:00
Michael Tuexen
f3b05218ea
Move from early SSN assignment to late SSN assignment.
...
This doesn't change functionality, but makes upcoming change
much easier.
Developed with rrs@ at the IETF 85.
MFC after: 1 week
2012-11-05 20:55:17 +00:00
Gleb Smirnoff
8ad458a471
Do not reduce ip_len by size of IP header in the ip_input()
...
before passing a packet to protocol input routines.
For several protocols this mean that now protocol needs to
do subtraction itself, and for another half this means that
we do not need to add header length back to the packet.
Make ip_stripoptions() to adjust ip_len, since now we enter
this function with a packet header whose ip_len does represent
length of entire packet, not payload only.
2012-10-23 08:33:13 +00:00
Gleb Smirnoff
8f134647ca
Switch the entire IPv4 stack to keep the IP packet header
...
in network byte order. Any host byte order processing is
done in local variables and host byte order values are
never[1] written to a packet.
After this change a packet processed by the stack isn't
modified at all[2] except for TTL.
After this change a network stack hacker doesn't need to
scratch his head trying to figure out what is the byte order
at the given place in the stack.
[1] One exception still remains. The raw sockets convert host
byte order before pass a packet to an application. Probably
this would remain for ages for compatibility.
[2] The ip_input() still subtructs header len from ip->ip_len,
but this is planned to be fixed soon.
Reviewed by: luigi, Maxim Dounin <mdounin mdounin.ru>
Tested by: ray, Olivier Cochard-Labbe <olivier cochard.me>
2012-10-22 21:09:03 +00:00
Michael Tuexen
efb0814c24
Fix a bug related to handling Re-config chunks. It is not true that
...
the association can be removed if the socket is gone.
MFC after: 3 days
2012-09-22 22:04:17 +00:00
Eitan Adler
582212fa04
s/teh/the/g
...
Approved by: cperciva
MFC after: 3 days
2012-09-14 21:59:55 +00:00
Michael Tuexen
a169d6ec2b
Don't include a structure containing a flexible array in another
...
structure.
MFC after: 10 days
2012-09-07 13:36:42 +00:00
Michael Tuexen
dd294dcec6
Using %p in a format string requires a void *.
...
MFC after: 10 days
2012-09-05 18:52:01 +00:00
Michael Tuexen
55b175e747
Fix a bug found by dim@:
...
Don't use an uninitilized variable, if INVARIANTS is on and an illegal
packet with destination 0 is received.
MFC after: 3 days
X-MFC with: 238003
2012-08-06 10:50:23 +00:00
Michael Tuexen
c9afdc3aa9
Use case for selecting the address family (as in other places).
...
MFC after: 3 days
2012-07-14 19:44:39 +00:00
Michael Tuexen
e3d6ef0b03
Iniitialize a variable.
...
MFC after: 3 days
2012-07-03 21:41:19 +00:00
Michael Tuexen
a8775ad93d
Move common code parts to sctp_common_input_processing().
...
MFC after: 3 days
2012-07-02 16:44:09 +00:00
Michael Tuexen
b1754ad17b
Pass the src and dst address of a received packet explicitly around.
...
MFC after: 3 days
2012-06-28 16:01:08 +00:00
Michael Tuexen
6dc5aabcb7
Unify sctp_input() and sctp6_input().
...
MFC after: 3 days
2012-06-25 19:13:43 +00:00
Michael Tuexen
39803b8c58
Whitespace cleanup.
...
MFC after: 3 days
2012-06-25 17:15:09 +00:00
Michael Tuexen
20cc2188f3
Pass the packet length explicitly around.
...
MFC after: 3 days
2012-06-24 23:12:24 +00:00
Michael Tuexen
329204ff00
Remove redundant check.
...
MFC after: 3 days
2012-06-24 22:22:44 +00:00
Michael Tuexen
f938425253
Do packet logging in a consistent way.
...
MFC after: 3 days
2012-06-24 21:25:54 +00:00
Michael Tuexen
5ad9e57b3f
Add rate limitation for SCTP OOTB responses.
...
MFC after: 3 days
2012-06-18 17:11:24 +00:00
Michael Tuexen
f30ac43257
Pass flowid explicitly through the stack instead of taking it from
...
the mbuf chain at different places.
While there: Fix several bugs related to VRFs.
MFC after: 3 days
2012-06-14 06:54:48 +00:00
Michael Tuexen
c9e089587c
Unify the sending of ABORT, SHUTDOWN-COMPLETE and ERROR chunks.
...
While there: Fix also some minor bugs and prepare for SCTP/DTLS.
MFC after: 3 days
2012-06-12 13:15:27 +00:00
Michael Tuexen
021416fb85
Remove an unused parameter.
...
MFC after: 3 days
2012-06-02 13:13:38 +00:00
Michael Tuexen
807aad636f
Use consistent text at the begining of the files.
...
MFC after: 3 days
2012-05-23 11:26:28 +00:00
Michael Tuexen
389b1b118c
Support SCTP_REMOTE_ERROR notification.
...
MFC after: 3 days
2012-05-13 22:27:54 +00:00
Michael Tuexen
1edc9dbae5
Provide in the SCTP_SEND_FAILED and SCTP_SEND_FAILED_EVENT notifications
...
the correct ssf_error or ssfe_error as required by RFC 6458.
MFC after: 3 days
2012-05-13 19:32:49 +00:00
Michael Tuexen
4b1f78e1af
Provide the error code in SCTP_PEER_ADDR_CHANGE notifications as
...
specified in RFC 6458.
MFC after: 3 days
2012-05-13 17:36:04 +00:00
Michael Tuexen
410a3b1ef0
Use ECONNABORTED in cases where the ABORT was sent to the peer.
...
MFC after: 3 days
2012-05-13 16:56:16 +00:00
Michael Tuexen
a2b42326b5
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
Michael Tuexen
ce228dab70
Fix a bug in the handling of association reset request.
...
MFC after: 3 days
2012-05-11 19:15:33 +00:00
Michael Tuexen
3f826ed2f3
Remove debug code.
...
MFC after: 3 days
2012-05-06 11:37:41 +00:00
Michael Tuexen
d426064666
Provide the flags in the SCTP stream reconfig related notification
...
as specified in RFC 6525.
MFC after: 3 days
2012-05-05 21:41:16 +00:00
Michael Tuexen
f3ebe64c9e
Honor SCTP_ENABLE_STREAM_RESET socket option when processing incoming
...
requests. Fix also the provided result in the response and use names
as specified in RFC 6525.
MFC after: 3 days
2012-05-05 20:07:33 +00:00
Michael Tuexen
cd3fd53188
Use SCTP_PRINTF() instead of printf() in all SCTP sources.
...
MFC after: 3 days
2012-05-04 09:27:00 +00:00
Michael Tuexen
74b2fab47a
Use the same pattern for mbuf logging everywhere.
...
MFC after: 3 days
2012-04-19 13:11:17 +00:00
Michael Tuexen
921569e288
Fix a bug where we copy out more data from a mbuf chain that are
...
actually in it. This happens when SCTP receives an unknown chunk, which
requires the sending of an ERROR chunk, and there is no final padding but
the chunk is not 4-byte aligned.
Reported by yueting via rwatson@
MFC after: 3 days
2012-04-19 12:43:19 +00:00
Randall Stewart
c4e848b770
Make stream our stream reset implementation
...
compliant to RFC6525.
MFC after: 1 month
2012-03-29 13:36:53 +00:00