diff options
author | tuexen <tuexen@FreeBSD.org> | 2012-05-13 19:32:49 +0000 |
---|---|---|
committer | tuexen <tuexen@FreeBSD.org> | 2012-05-13 19:32:49 +0000 |
commit | ac466466802d3731b0bc71544f075caf39e5bf14 (patch) | |
tree | 2e1a3cd28b25e3b733f8d13581838db935226261 /sys/netinet/sctp_indata.c | |
parent | 442f3db61555b7388fbeb0b97d82546223679ef8 (diff) | |
download | FreeBSD-src-ac466466802d3731b0bc71544f075caf39e5bf14.zip FreeBSD-src-ac466466802d3731b0bc71544f075caf39e5bf14.tar.gz |
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
Diffstat (limited to 'sys/netinet/sctp_indata.c')
-rw-r--r-- | sys/netinet/sctp_indata.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/sys/netinet/sctp_indata.c b/sys/netinet/sctp_indata.c index d937aa3..dba40cf 100644 --- a/sys/netinet/sctp_indata.c +++ b/sys/netinet/sctp_indata.c @@ -3194,8 +3194,7 @@ sctp_strike_gap_ack_chunks(struct sctp_tcb *stcb, struct sctp_association *asoc, if (timevalcmp(&now, &tp1->rec.data.timetodrop, >)) { /* Yes so drop it */ if (tp1->data != NULL) { - (void)sctp_release_pr_sctp_chunk(stcb, tp1, - (SCTP_RESPONSE_TO_USER_REQ | SCTP_NOTIFY_DATAGRAM_SENT), + (void)sctp_release_pr_sctp_chunk(stcb, tp1, 1, SCTP_SO_NOT_LOCKED); } continue; @@ -3452,8 +3451,7 @@ sctp_strike_gap_ack_chunks(struct sctp_tcb *stcb, struct sctp_association *asoc, if (tp1->snd_count > tp1->rec.data.timetodrop.tv_sec) { /* Yes, so drop it */ if (tp1->data != NULL) { - (void)sctp_release_pr_sctp_chunk(stcb, tp1, - (SCTP_RESPONSE_TO_USER_REQ | SCTP_NOTIFY_DATAGRAM_SENT), + (void)sctp_release_pr_sctp_chunk(stcb, tp1, 1, SCTP_SO_NOT_LOCKED); } /* Make sure to flag we had a FR */ @@ -3632,8 +3630,7 @@ sctp_try_advance_peer_ack_point(struct sctp_tcb *stcb, /* Yes so drop it */ if (tp1->data) { (void)sctp_release_pr_sctp_chunk(stcb, tp1, - (SCTP_RESPONSE_TO_USER_REQ | SCTP_NOTIFY_DATAGRAM_SENT), - SCTP_SO_NOT_LOCKED); + 1, SCTP_SO_NOT_LOCKED); } } else { /* |