[DCCP]: Export dccp_insert_option_timestamp to CCIDs
And don't insert a TIMESTAMP option in all packets, leave the decision
to the CCIDs.
Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
diff --git a/net/dccp/dccp.h b/net/dccp/dccp.h
index 53994f1..c6ba07e 100644
--- a/net/dccp/dccp.h
+++ b/net/dccp/dccp.h
@@ -364,6 +364,8 @@
extern void dccp_insert_option_elapsed_time(struct sock *sk,
struct sk_buff *skb,
u32 elapsed_time);
+extern void dccp_insert_option_timestamp(struct sock *sk,
+ struct sk_buff *skb);
extern void dccp_insert_option(struct sock *sk, struct sk_buff *skb,
unsigned char option,
const void *value, unsigned char len);
diff --git a/net/dccp/options.c b/net/dccp/options.c
index 7ecffdf..eabcc8f 100644
--- a/net/dccp/options.c
+++ b/net/dccp/options.c
@@ -348,7 +348,7 @@
(unsigned long long) DCCP_SKB_CB(skb)->dccpd_seq);
}
-EXPORT_SYMBOL(dccp_insert_option_elapsed_time);
+EXPORT_SYMBOL_GPL(dccp_insert_option_elapsed_time);
static void dccp_insert_option_ack_vector(struct sock *sk, struct sk_buff *skb)
{
@@ -426,8 +426,7 @@
(unsigned long long) ap->dccpap_ack_ackno);
}
-static inline void dccp_insert_option_timestamp(struct sock *sk,
- struct sk_buff *skb)
+void dccp_insert_option_timestamp(struct sock *sk, struct sk_buff *skb)
{
struct timeval tv;
u32 now;
@@ -441,6 +440,8 @@
dccp_insert_option(sk, skb, DCCPO_TIMESTAMP, &now, sizeof(now));
}
+EXPORT_SYMBOL_GPL(dccp_insert_option_timestamp);
+
static void dccp_insert_option_timestamp_echo(struct sock *sk,
struct sk_buff *skb)
{
@@ -504,7 +505,6 @@
DCCP_MAX_SEQNO + 1))
dccp_insert_option_ack_vector(sk, skb);
- dccp_insert_option_timestamp(sk, skb);
if (dp->dccps_timestamp_echo != 0)
dccp_insert_option_timestamp_echo(sk, skb);
}