sctp: remove prsctp_param from sctp_chunk
authorXin Long <lucien.xin@gmail.com>
Wed, 28 Sep 2016 18:37:27 +0000 (02:37 +0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 30 Sep 2016 06:07:05 +0000 (02:07 -0400)
commit0605483f6ace1f6b63e397c819a115ddcd13af0d
treee71a84a43cb26e43cf85d066ff98e87a5245e0d1
parent73dca124cdbad2d67d47d6196c08325f18447d07
sctp: remove prsctp_param from sctp_chunk

Now sctp uses chunk->prsctp_param to save the prsctp param for all the
prsctp polices, we didn't need to introduce prsctp_param to sctp_chunk.
We can just use chunk->sinfo.sinfo_timetolive for RTX and BUF polices,
and reuse msg->expires_at for TTL policy, as the prsctp polices and old
expires policy are mutual exclusive.

This patch is to remove prsctp_param from sctp_chunk, and reuse msg's
expires_at for TTL and chunk's sinfo.sinfo_timetolive for RTX and BUF
polices.

Note that sctp can't use chunk's sinfo.sinfo_timetolive for TTL policy,
as it needs a u64 variables to save the expires_at time.

This one also fixes the "netperf-Throughput_Mbps -37.2% regression"
issue.

Fixes: a6c2f792873a ("sctp: implement prsctp TTL policy")
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/sctp/structs.h
net/sctp/chunk.c
net/sctp/outqueue.c
net/sctp/sm_make_chunk.c