sctp: implement event notification SCTP_SENDER_DRY_EVENT
This patch implement event notification SCTP_SENDER_DRY_EVENT. SCTP Socket API Extensions: 6.1.9. SCTP_SENDER_DRY_EVENT When the SCTP stack has no more user data to send or retransmit, this notification is given to the user. Also, at the time when a user app subscribes to this event, if there is no data to be sent or retransmit, the stack will immediately send up this notification. Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com> Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
ee916fd0fd
commit
e1cdd553d4
6 changed files with 74 additions and 1 deletions
|
@ -5076,6 +5076,30 @@ sctp_disposition_t sctp_sf_ignore_primitive(
|
|||
* These are the state functions for the OTHER events.
|
||||
***************************************************************************/
|
||||
|
||||
/*
|
||||
* When the SCTP stack has no more user data to send or retransmit, this
|
||||
* notification is given to the user. Also, at the time when a user app
|
||||
* subscribes to this event, if there is no data to be sent or
|
||||
* retransmit, the stack will immediately send up this notification.
|
||||
*/
|
||||
sctp_disposition_t sctp_sf_do_no_pending_tsn(
|
||||
const struct sctp_endpoint *ep,
|
||||
const struct sctp_association *asoc,
|
||||
const sctp_subtype_t type,
|
||||
void *arg,
|
||||
sctp_cmd_seq_t *commands)
|
||||
{
|
||||
struct sctp_ulpevent *event;
|
||||
|
||||
event = sctp_ulpevent_make_sender_dry_event(asoc, GFP_ATOMIC);
|
||||
if (!event)
|
||||
return SCTP_DISPOSITION_NOMEM;
|
||||
|
||||
sctp_add_cmd_sf(commands, SCTP_CMD_EVENT_ULP, SCTP_ULPEVENT(event));
|
||||
|
||||
return SCTP_DISPOSITION_CONSUME;
|
||||
}
|
||||
|
||||
/*
|
||||
* Start the shutdown negotiation.
|
||||
*
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue