Out-of-order data chunks handling and more 45/10345/2
authorMarco Varlese <marco.varlese@suse.com>
Wed, 31 Jan 2018 10:00:01 +0000 (11:00 +0100)
committerFlorin Coras <florin.coras@gmail.com>
Thu, 1 Feb 2018 23:45:03 +0000 (23:45 +0000)
commit91389ac2c28ae10f2b7f766e4dfe7a7fd96dc5e0
tree8a0286cca7960df4f1365f7e20a9a34ced835c4c
parent75e7d1301475d49311d14e202936c62df0c07d10
Out-of-order data chunks handling and more

This patch addresses the need to handle out-of-order data chunks
received by a peer. To do that effectively, we had to add the handling
of data chunks flags (E/B/U bit) to understand whether the stream is
fragmenting user-message data and in that case if a fragment is the
FIRST/MIDDLE/LAST one of a transmission.
The same patch also addresses the security requirement to have a HMAC
calculated and incorporated in the INIT_ACK and COOKIE_ECHO chunks. The
algorithm used is the HMAC-SHA1.

Change-Id: Ib6a9a80492e2aafe5c8480d6e02da895efe9f90b
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
src/vnet/sctp/sctp.h
src/vnet/sctp/sctp_input.c
src/vnet/sctp/sctp_output.c
src/vnet/sctp/sctp_packet.h