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_output.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_output.c')
-rw-r--r-- | sys/netinet/sctp_output.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/sys/netinet/sctp_output.c b/sys/netinet/sctp_output.c index cf64985..f832738 100644 --- a/sys/netinet/sctp_output.c +++ b/sys/netinet/sctp_output.c @@ -6091,14 +6091,14 @@ sctp_prune_prsctp(struct sctp_tcb *stcb, * if the mbuf is here */ int ret_spc; - int cause; + uint8_t sent; if (chk->sent > SCTP_DATAGRAM_UNSENT) - cause = SCTP_RESPONSE_TO_USER_REQ | SCTP_NOTIFY_DATAGRAM_SENT; + sent = 1; else - cause = SCTP_RESPONSE_TO_USER_REQ | SCTP_NOTIFY_DATAGRAM_UNSENT; + sent = 0; ret_spc = sctp_release_pr_sctp_chunk(stcb, chk, - cause, + sent, SCTP_SO_LOCKED); freed_spc += ret_spc; if (freed_spc >= dataout) { @@ -6121,8 +6121,7 @@ sctp_prune_prsctp(struct sctp_tcb *stcb, int ret_spc; ret_spc = sctp_release_pr_sctp_chunk(stcb, chk, - SCTP_RESPONSE_TO_USER_REQ | SCTP_NOTIFY_DATAGRAM_UNSENT, - SCTP_SO_LOCKED); + 0, SCTP_SO_LOCKED); freed_spc += ret_spc; if (freed_spc >= dataout) { |