[lkml]   [2007]   [Dec]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Patch in this message
SubjectRe: 2.6.24-rc5-mm1
On Thu, Dec 13, 2007 at 09:45:54AM -0800, David Miller wrote:
> From: Benjamin Thery <>
> Date: Thu, 13 Dec 2007 16:01:34 +0100
> > The problem comes from the new macro UDPX_INC_STATS_BH introduced
> > by Herbert, which was a nice addition to increment the correct
> > UDP MIB depending on the socket family, but unfortunately
> > the use of this macro from kernel code (I mean code not compiled
> > as module) requires that IPv6 is also compiled in kernel
> > (CONFIG_IPv6=y) in order to have udp_stats_in6 defined at link
> > time.
> Herbert, please take a look at this, thanks!

OK, let's just move udp_stats_in6 into net/ipv4/udp.c. It's only
40 bytes or less.

[UDP]: Move udp_stats_in6 into net/ipv4/udp.c

Now that external users may increment the counters directly, we need to
ensure that udp_stats_in6 is always available. Otherwise we'd either
have to requrie the external users to be built as modules or ipv6 to be

This isn't too bad because udp_stats_in6 is just a pair of pointers plus
an EXPORT, e.g., just 40 (16 + 24) bytes on x86-64.

Signed-off-by: Herbert Xu <>

diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c
index 9ed6393..3d60215 100644
--- a/net/ipv4/udp.c
+++ b/net/ipv4/udp.c
@@ -112,6 +112,9 @@
DEFINE_SNMP_STAT(struct udp_mib, udp_statistics) __read_mostly;

+DEFINE_SNMP_STAT(struct udp_mib, udp_stats_in6) __read_mostly;
struct hlist_head udp_hash[UDP_HTABLE_SIZE];

diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c
index 8cbdcc9..7db5a9d 100644
--- a/net/ipv6/udp.c
+++ b/net/ipv6/udp.c
@@ -51,9 +51,6 @@
#include <linux/seq_file.h>
#include "udp_impl.h"

-DEFINE_SNMP_STAT(struct udp_mib, udp_stats_in6) __read_mostly;
static inline int udp_v6_get_port(struct sock *sk, unsigned short snum)
return udp_get_port(sk, snum, ipv6_rcv_saddr_equal);
Visit Openswan at
Email: Herbert Xu ~{PmV>HI~} <>
Home Page:
PGP Key:

 \ /
  Last update: 2007-12-14 03:11    [W:0.103 / U:0.108 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site