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>
This commit is contained in:

committed by
David S. Miller

parent
9162e0ed9e
commit
94014e8d87
@@ -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);
|
||||
|
@@ -76,11 +76,8 @@ int sctp_clear_pd(struct sock *sk, struct sctp_association *asoc);
|
||||
void sctp_ulpq_skip(struct sctp_ulpq *ulpq, __u16 sid, __u16 ssn);
|
||||
|
||||
void sctp_ulpq_reasm_flushtsn(struct sctp_ulpq *, __u32);
|
||||
|
||||
__u16 sctp_ulpq_renege_list(struct sctp_ulpq *ulpq,
|
||||
struct sk_buff_head *list, __u16 needed);
|
||||
|
||||
#endif /* __sctp_ulpqueue_h__ */
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user