aboutsummaryrefslogtreecommitdiffstats
path: root/net/sctp/output.c
diff options
context:
space:
mode:
authorWei Yongjun <yjwei@cn.fujitsu.com>2009-09-04 14:34:06 +0800
committerVlad Yasevich <vladislav.yasevich@hp.com>2009-09-04 18:21:02 -0400
commitbe2971438dec2e2d041af4701472a93a7dd03642 (patch)
tree9b69e184f1be9815f471f06a5456a68aef59578f /net/sctp/output.c
parent9237ccbc0b22b5aa5396463ba0b14dc5efe5b98c (diff)
downloadkernel_samsung_smdk4412-be2971438dec2e2d041af4701472a93a7dd03642.zip
kernel_samsung_smdk4412-be2971438dec2e2d041af4701472a93a7dd03642.tar.gz
kernel_samsung_smdk4412-be2971438dec2e2d041af4701472a93a7dd03642.tar.bz2
sctp: remove dup code in net/sctp/output.c
Use sctp_packet_reset() instead of dup code. Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com> Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Diffstat (limited to 'net/sctp/output.c')
-rw-r--r--net/sctp/output.c37
1 files changed, 13 insertions, 24 deletions
diff --git a/net/sctp/output.c b/net/sctp/output.c
index e47398c..5cbda8f 100644
--- a/net/sctp/output.c
+++ b/net/sctp/output.c
@@ -69,6 +69,17 @@ static sctp_xmit_t sctp_packet_will_fit(struct sctp_packet *packet,
struct sctp_chunk *chunk,
u16 chunk_len);
+static void sctp_packet_reset(struct sctp_packet *packet)
+{
+ packet->size = packet->overhead;
+ packet->has_cookie_echo = 0;
+ packet->has_sack = 0;
+ packet->has_data = 0;
+ packet->has_auth = 0;
+ packet->ipfragok = 0;
+ packet->auth = NULL;
+}
+
/* Config a packet.
* This appears to be a followup set of initializations.
*/
@@ -80,13 +91,8 @@ struct sctp_packet *sctp_packet_config(struct sctp_packet *packet,
SCTP_DEBUG_PRINTK("%s: packet:%p vtag:0x%x\n", __func__,
packet, vtag);
+ sctp_packet_reset(packet);
packet->vtag = vtag;
- packet->has_cookie_echo = 0;
- packet->has_sack = 0;
- packet->has_auth = 0;
- packet->has_data = 0;
- packet->ipfragok = 0;
- packet->auth = NULL;
if (ecn_capable && sctp_packet_empty(packet)) {
chunk = sctp_get_ecne_prepend(packet->transport->asoc);
@@ -124,29 +130,12 @@ struct sctp_packet *sctp_packet_init(struct sctp_packet *packet,
}
overhead += sizeof(struct sctphdr);
packet->overhead = overhead;
- packet->size = overhead;
+ sctp_packet_reset(packet);
packet->vtag = 0;
- packet->has_cookie_echo = 0;
- packet->has_sack = 0;
- packet->has_auth = 0;
- packet->has_data = 0;
- packet->ipfragok = 0;
packet->malloced = 0;
- packet->auth = NULL;
return packet;
}
-static void sctp_packet_reset(struct sctp_packet *packet)
-{
- packet->size = packet->overhead;
- packet->has_cookie_echo = 0;
- packet->has_sack = 0;
- packet->has_data = 0;
- packet->has_auth = 0;
- packet->ipfragok = 0;
- packet->auth = NULL;
-}
-
/* Free a packet. */
void sctp_packet_free(struct sctp_packet *packet)
{