: Move rx timestamp functions to net/core/dev.c
Subsystems (3)
PATCH 5/9 : Move rx timestamp functions to net/core/dev.c
This patch moves the rx timestamp functions to net/core/dev.c. This is necessary for the next patch: ip_queue needs to enable timestamps while packets are received by it.
# This is a BitKeeper generated diff -Nru style patch. #
# ChangeSet
# 2004/11/13 13:27:50+01:00 [email protected]
# [NET]: Move rx timestamp functions to net/core/dev.c
#
# Signed-off-by: Patrick McHardy <[email protected]>
#
# net/core/sock.c # 2004/11/13 13:27:44+01:00 [email protected] +2 -5 # [NET]: Move rx timestamp functions to net/core/dev.c # # Signed-off-by: Patrick McHardy <[email protected]> # # net/core/dev.c # 2004/11/13 13:27:43+01:00 [email protected] +25 -0 # [NET]: Move rx timestamp functions to net/core/dev.c # # Signed-off-by: Patrick McHardy <[email protected]> # # include/net/sock.h # 2004/11/13 13:27:43+01:00 [email protected] +0 -12 # [NET]: Move rx timestamp functions to net/core/dev.c # # Signed-off-by: Patrick McHardy <[email protected]> # # include/linux/netdevice.h # 2004/11/13 13:27:43+01:00 [email protected] +3 -0 # [NET]: Move rx timestamp functions to net/core/dev.c # # Signed-off-by: Patrick McHardy <[email protected]> # diff -Nru a/include/linux/netdevice.h b/include/linux/netdevice.h --- a/include/linux/netdevice.h 2004-11-15 22:07:09 +01:00 +++ b/include/linux/netdevice.h 2004-11-15 22:07:09 +01:00 @@ -928,6 +928,9 @@ extern atomic_t netdev_dropping; extern int netdev_set_master(struct net_device *dev, struct net_device *master); extern int skb_checksum_help(struct sk_buff *skb, int inward); +/* rx skb timestamps */ +extern void net_enable_timestamp(void); +extern void net_disable_timestamp(void);
#ifdef CONFIG_SYSCTL
extern char *net_sysctl_strdup(const char *s);
include/net/sock.h +0 -12
@@ -1270,19 +1270,7 @@__kfree_skb (skb); } -extern atomic_t netstamp_needed;extern void sock_enable_timestamp (struct sock *sk); - -static inline void net_timestamp (struct timeval *stamp) -{ -if (atomic_read (&netstamp_needed)) -do_gettimeofday (stamp); -else { - stamp->tv_sec =0 ; - stamp->tv_usec =0 ; - } -} -extern int sock_get_timestamp (struct sock *,struct timeval __user *);/*
net/core/dev.c +25 -0
@@ -1001,6 +1001,29 @@return notifier_call_chain (&netdev_chain, val, v); } +/* When > 0 there are consumers of rx skb time stamps */ +static atomic_t netstamp_needed =ATOMIC_INIT (0 ); + +void net_enable_timestamp (void ) +{ +atomic_inc (&netstamp_needed); +} + +void net_disable_timestamp (void ) +{ +atomic_dec (&netstamp_needed); +} + +static inline void net_timestamp (struct timeval *stamp) +{ +if (atomic_read (&netstamp_needed)) +do_gettimeofday (stamp); +else { + stamp->tv_sec =0 ; + stamp->tv_usec =0 ; + } +} +/* * Support routine. Sends outgoing frames to any network * taps currently in use.
@@ -3215,6 +3238,8 @@EXPORT_SYMBOL (synchronize_net);EXPORT_SYMBOL (unregister_netdevice);EXPORT_SYMBOL (unregister_netdevice_notifier); +EXPORT_SYMBOL (net_enable_timestamp); +EXPORT_SYMBOL (net_disable_timestamp);#if defined(CONFIG_BRIDGE ) || defined(CONFIG_BRIDGE_MODULE )EXPORT_SYMBOL (br_handle_frame_hook);
net/core/sock.c +2 -5
@@ -179,7 +179,7 @@ {if (sock_flag (sk,SOCK_TIMESTAMP )) {sock_reset_flag (sk,SOCK_TIMESTAMP ); -atomic_dec (&netstamp_needed); +net_disable_timestamp (); } }
@@ -1226,9 +1226,6 @@ }EXPORT_SYMBOL (release_sock); -/* When > 0 there are consumers of rx skb time stamps */ -atomic_t netstamp_needed =ATOMIC_INIT (0 ); -int sock_get_timestamp (struct sock *sk,struct timeval __user *userstamp) {if (!sock_flag (sk,SOCK_TIMESTAMP ))
@@ -1246,7 +1243,7 @@ {if (!sock_flag (sk,SOCK_TIMESTAMP )) {sock_set_flag (sk,SOCK_TIMESTAMP ); -atomic_inc (&netstamp_needed); +net_enable_timestamp (); } }EXPORT_SYMBOL (sock_enable_timestamp);