aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/sctp/stream_interleave.h
diff options
context:
space:
mode:
authorXin Long <lucien.xin@gmail.com>2017-12-08 21:04:06 +0800
committerDavid S. Miller <davem@davemloft.net>2017-12-11 11:23:05 -0500
commit94014e8d871ae43d834828710c098518be44b5d9 (patch)
tree2be3b55d238b96afc9d6c2d91eeffff4d75aa2a1 /include/net/sctp/stream_interleave.h
parentsctp: implement enqueue_event for sctp_stream_interleave (diff)
downloadlinux-dev-94014e8d871ae43d834828710c098518be44b5d9.tar.xz
linux-dev-94014e8d871ae43d834828710c098518be44b5d9.zip
sctp: implement renege_events for sctp_stream_interleave
renege_events is added as a member of sctp_stream_interleave, used to renege some old data or idata in reasm or lobby queue properly to free some memory for the new data when there's memory stress. It defines sctp_renege_events for idata, and leaves sctp_ulpq_renege as it is for data. Signed-off-by: Xin Long <lucien.xin@gmail.com> Acked-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com> Acked-by: Neil Horman <nhorman@tuxdriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/sctp/stream_interleave.h')
-rw-r--r--include/net/sctp/stream_interleave.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/net/sctp/stream_interleave.h b/include/net/sctp/stream_interleave.h
index a0f61bc08ae8..16a71cb2b098 100644
--- a/include/net/sctp/stream_interleave.h
+++ b/include/net/sctp/stream_interleave.h
@@ -43,6 +43,8 @@ struct sctp_stream_interleave {
struct sctp_chunk *chunk, gfp_t gfp);
int (*enqueue_event)(struct sctp_ulpq *ulpq,
struct sctp_ulpevent *event);
+ void (*renege_events)(struct sctp_ulpq *ulpq,
+ struct sctp_chunk *chunk, gfp_t gfp);
};
void sctp_stream_interleave_init(struct sctp_stream *stream);