* [PATCH 2.6 5/9]: Move rx timestamp functions to net/core/dev.c
@ 2004-11-15 21:44 Patrick McHardy
0 siblings, 0 replies; only message in thread
From: Patrick McHardy @ 2004-11-15 21:44 UTC (permalink / raw)
To: David S. Miller; +Cc: Netfilter Development Mailinglist
[-- Attachment #1: Type: text/plain, Size: 173 bytes --]
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.
[-- Attachment #2: 05.diff --]
[-- Type: text/x-patch, Size: 4029 bytes --]
# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
# 2004/11/13 13:27:50+01:00 kaber@coreworks.de
# [NET]: Move rx timestamp functions to net/core/dev.c
#
# Signed-off-by: Patrick McHardy <kaber@trash.net>
#
# net/core/sock.c
# 2004/11/13 13:27:44+01:00 kaber@coreworks.de +2 -5
# [NET]: Move rx timestamp functions to net/core/dev.c
#
# Signed-off-by: Patrick McHardy <kaber@trash.net>
#
# net/core/dev.c
# 2004/11/13 13:27:43+01:00 kaber@coreworks.de +25 -0
# [NET]: Move rx timestamp functions to net/core/dev.c
#
# Signed-off-by: Patrick McHardy <kaber@trash.net>
#
# include/net/sock.h
# 2004/11/13 13:27:43+01:00 kaber@coreworks.de +0 -12
# [NET]: Move rx timestamp functions to net/core/dev.c
#
# Signed-off-by: Patrick McHardy <kaber@trash.net>
#
# include/linux/netdevice.h
# 2004/11/13 13:27:43+01:00 kaber@coreworks.de +3 -0
# [NET]: Move rx timestamp functions to net/core/dev.c
#
# Signed-off-by: Patrick McHardy <kaber@trash.net>
#
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);
diff -Nru a/include/net/sock.h b/include/net/sock.h
--- a/include/net/sock.h 2004-11-15 22:07:09 +01:00
+++ b/include/net/sock.h 2004-11-15 22:07:09 +01:00
@@ -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 *);
/*
diff -Nru a/net/core/dev.c b/net/core/dev.c
--- a/net/core/dev.c 2004-11-15 22:07:09 +01:00
+++ b/net/core/dev.c 2004-11-15 22:07:09 +01:00
@@ -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);
diff -Nru a/net/core/sock.c b/net/core/sock.c
--- a/net/core/sock.c 2004-11-15 22:07:09 +01:00
+++ b/net/core/sock.c 2004-11-15 22:07:09 +01:00
@@ -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);
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2004-11-15 21:44 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-11-15 21:44 [PATCH 2.6 5/9]: Move rx timestamp functions to net/core/dev.c Patrick McHardy
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.