mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
[SCTP] sctp_connectx() API support
Implements sctp_connectx() as defined in the SCTP sockets API draft by tunneling the request through a setsockopt(). Signed-off-by: Frank Filz <ffilzlnx@us.ibm.com> Signed-off-by: Sridhar Samudrala <sri@us.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
8b22c249e7
commit
3f7a87d2fa
16 changed files with 677 additions and 260 deletions
|
@ -682,9 +682,9 @@ int sctp_outq_flush(struct sctp_outq *q, int rtx_timeout)
|
|||
|
||||
if (!new_transport) {
|
||||
new_transport = asoc->peer.active_path;
|
||||
} else if (!new_transport->active) {
|
||||
/* If the chunk is Heartbeat or Heartbeat Ack,
|
||||
* send it to chunk->transport, even if it's
|
||||
} else if (new_transport->state == SCTP_INACTIVE) {
|
||||
/* If the chunk is Heartbeat or Heartbeat Ack,
|
||||
* send it to chunk->transport, even if it's
|
||||
* inactive.
|
||||
*
|
||||
* 3.3.6 Heartbeat Acknowledgement:
|
||||
|
@ -840,7 +840,8 @@ int sctp_outq_flush(struct sctp_outq *q, int rtx_timeout)
|
|||
* Otherwise, we want to use the active path.
|
||||
*/
|
||||
new_transport = chunk->transport;
|
||||
if (!new_transport || !new_transport->active)
|
||||
if (!new_transport ||
|
||||
new_transport->state == SCTP_INACTIVE)
|
||||
new_transport = asoc->peer.active_path;
|
||||
|
||||
/* Change packets if necessary. */
|
||||
|
@ -1454,7 +1455,7 @@ static void sctp_check_transmitted(struct sctp_outq *q,
|
|||
/* Mark the destination transport address as
|
||||
* active if it is not so marked.
|
||||
*/
|
||||
if (!transport->active) {
|
||||
if (transport->state == SCTP_INACTIVE) {
|
||||
sctp_assoc_control_transport(
|
||||
transport->asoc,
|
||||
transport,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue