net/sctp: Make wrappers for accessing in/out streams
This patch introduces wrappers for accessing in/out streams indirectly. This will enable to replace physically contiguous memory arrays of streams with flexible arrays (or maybe any other appropriate mechanism) which do memory allocation on a per-page basis. Signed-off-by: Oleg Babin <obabin@virtuozzo.com> Signed-off-by: Konstantin Khorenko <khorenko@virtuozzo.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
b70f1f3af4
commit
05364ca03c
@@ -325,7 +325,8 @@ int sctp_chunk_abandoned(struct sctp_chunk *chunk)
|
||||
if (SCTP_PR_TTL_ENABLED(chunk->sinfo.sinfo_flags) &&
|
||||
time_after(jiffies, chunk->msg->expires_at)) {
|
||||
struct sctp_stream_out *streamout =
|
||||
&chunk->asoc->stream.out[chunk->sinfo.sinfo_stream];
|
||||
SCTP_SO(&chunk->asoc->stream,
|
||||
chunk->sinfo.sinfo_stream);
|
||||
|
||||
if (chunk->sent_count) {
|
||||
chunk->asoc->abandoned_sent[SCTP_PR_INDEX(TTL)]++;
|
||||
@@ -339,7 +340,8 @@ int sctp_chunk_abandoned(struct sctp_chunk *chunk)
|
||||
} else if (SCTP_PR_RTX_ENABLED(chunk->sinfo.sinfo_flags) &&
|
||||
chunk->sent_count > chunk->sinfo.sinfo_timetolive) {
|
||||
struct sctp_stream_out *streamout =
|
||||
&chunk->asoc->stream.out[chunk->sinfo.sinfo_stream];
|
||||
SCTP_SO(&chunk->asoc->stream,
|
||||
chunk->sinfo.sinfo_stream);
|
||||
|
||||
chunk->asoc->abandoned_sent[SCTP_PR_INDEX(RTX)]++;
|
||||
streamout->ext->abandoned_sent[SCTP_PR_INDEX(RTX)]++;
|
||||
|
||||
Reference in New Issue
Block a user