summaryrefslogtreecommitdiffstats
path: root/net/sctp
diff options
context:
space:
mode:
authorWei Yongjun <yjwei@cn.fujitsu.com>2009-09-04 08:34:06 +0200
committerVlad Yasevich <vladislav.yasevich@hp.com>2009-09-05 00:21:02 +0200
commitbe2971438dec2e2d041af4701472a93a7dd03642 (patch)
tree9b69e184f1be9815f471f06a5456a68aef59578f /net/sctp
parentsctp: turn flags in 'struct sctp_association' into bit fields (diff)
downloadlinux-be2971438dec2e2d041af4701472a93a7dd03642.tar.xz
linux-be2971438dec2e2d041af4701472a93a7dd03642.zip
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')
-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 e47398c07185..5cbda8f1ddfd 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)
{