sctp: implement generate_ftsn for sctp_stream_interleave
generate_ftsn is added as a member of sctp_stream_interleave, used to create fwdtsn or ifwdtsn chunk according to abandoned chunks, called in sctp_retransmit and sctp_outq_sack. sctp_generate_iftsn works for ifwdtsn, and sctp_generate_fwdtsn is still used for making fwdtsn. Signed-off-by: Xin Long <lucien.xin@gmail.com> Acked-by: Marcelo R. Leitner <marcelo.leitner@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
2d07a49ade
commit
8e0c3b73ce
@@ -47,6 +47,8 @@ struct sctp_stream_interleave {
|
||||
struct sctp_chunk *chunk, gfp_t gfp);
|
||||
void (*start_pd)(struct sctp_ulpq *ulpq, gfp_t gfp);
|
||||
void (*abort_pd)(struct sctp_ulpq *ulpq, gfp_t gfp);
|
||||
/* (I-)FORWARD-TSN process */
|
||||
void (*generate_ftsn)(struct sctp_outq *q, __u32 ctsn);
|
||||
};
|
||||
|
||||
void sctp_stream_interleave_init(struct sctp_stream *stream);
|
||||
|
@@ -1100,6 +1100,7 @@ void sctp_retransmit_mark(struct sctp_outq *, struct sctp_transport *, __u8);
|
||||
void sctp_outq_uncork(struct sctp_outq *, gfp_t gfp);
|
||||
void sctp_prsctp_prune(struct sctp_association *asoc,
|
||||
struct sctp_sndrcvinfo *sinfo, int msg_len);
|
||||
void sctp_generate_fwdtsn(struct sctp_outq *q, __u32 sack_ctsn);
|
||||
/* Uncork and flush an outqueue. */
|
||||
static inline void sctp_outq_cork(struct sctp_outq *q)
|
||||
{
|
||||
|
Reference in New Issue
Block a user