[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);
 	}