netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [GIT PATCH] Exporting IPv6 statistics via netlink.
@ 2007-04-19  6:42 YOSHIFUJI Hideaki / 吉藤英明
  2007-04-19  8:44 ` Thomas Graf
  2007-04-21  5:15 ` David Miller
  0 siblings, 2 replies; 8+ messages in thread
From: YOSHIFUJI Hideaki / 吉藤英明 @ 2007-04-19  6:42 UTC (permalink / raw)
  To: davem; +Cc: yoshfuji, tgraf, netdev

Hello.

(Sorry for resending..., I failed to put an appropriate subject line...)

Please consider pulling following changesets for supporting exporting
stats information via netlink, on top of net-2.6.22.

Statistics values are exported as u64.  Correspoinding draft patch
for iproute2 can be found at
    <http://www.linux-ipv6.org/gitweb/gitweb.cgi?p=gitroot/yoshfuji/iproute2-dev.git;a=shortlog;h=v2_6_19-061214-20070404-protinfo-20070404>

3rd patch is preparation for preparation for future support for
IPv4 per-interface statistics and netlink interface, so we may want
to drop it for now.

All changeset are available on branch
    net-2.6.22-20070417-stats-20070417
at
    <git://git.linux-ipv6.org/gitroot/yoshfuji/linux-2.6-dev.git>.

Regards,

---

HEADLINES
---------

    [IPV6] SNMP: Netlink interface.
    [IPV6] SNMP: Move some statistic bits to net/ipv6/proc.c.
    [IPV4] SNMP: Move some statistic bits to net/ipv4/proc.c.

DIFFSTAT
--------

 include/linux/if_link.h |    1 +
 include/net/ip.h        |    3 ++
 include/net/ipv6.h      |    1 +
 net/ipv4/af_inet.c      |   59 ++++++++++++++++++++++++++++++---------------
 net/ipv4/proc.c         |   25 +++++++++++++++++++
 net/ipv6/addrconf.c     |   22 +++++++++++++----
 net/ipv6/af_inet6.c     |   33 -------------------------
 net/ipv6/proc.c         |   62 +++++++++++++++++++++++++++++++++++++++++++++++
 8 files changed, 148 insertions(+), 58 deletions(-)

CHANGESETS
----------

commit 4fa0b46927813ad4d70c82e0049d419345ddb7de
Author: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Date:   Tue Apr 3 18:21:31 2007 +0900

    [IPV6] SNMP: Netlink interface.
    
    Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>

diff --git a/include/linux/if_link.h b/include/linux/if_link.h
index 35ed3b5..604c243 100644
--- a/include/linux/if_link.h
+++ b/include/linux/if_link.h
@@ -126,6 +126,7 @@ enum
 	IFLA_INET6_STATS,	/* statistics			*/
 	IFLA_INET6_MCAST,	/* MC things. What of them?	*/
 	IFLA_INET6_CACHEINFO,	/* time values and max reasm size */
+	IFLA_INET6_ICMP6STATS,	/* statistics (icmpv6)		*/
 	__IFLA_INET6_MAX
 };
 
diff --git a/include/net/ipv6.h b/include/net/ipv6.h
index 00328b7..4408def 100644
--- a/include/net/ipv6.h
+++ b/include/net/ipv6.h
@@ -172,6 +172,7 @@ int snmp6_alloc_dev(struct inet6_dev *idev);
 int snmp6_free_dev(struct inet6_dev *idev);
 int snmp6_mib_init(void *ptr[2], size_t mibsize, size_t mibalign);
 void snmp6_mib_free(void *ptr[2]);
+void snmp6_fill_stats(u64 *stats, struct inet6_dev *idev, int attrtype, int bytes);
 
 struct ip6_ra_chain
 {
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
index 47d3adf..d80ca98 100644
--- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c
@@ -3429,6 +3429,8 @@ static inline size_t inet6_if_nlmsg_size(void)
 			nla_total_size(4) /* IFLA_INET6_FLAGS */
 			+ nla_total_size(sizeof(struct ifla_cacheinfo))
 			+ nla_total_size(DEVCONF_MAX * 4) /* IFLA_INET6_CONF */
+			+ nla_total_size(IPSTATS_MIB_MAX * 8) /* IFLA_INET6_STATS */
+			+ nla_total_size(ICMP6_MIB_MAX * 8) /* IFLA_INET6_ICMP6STATS */
 		 );
 }
 
@@ -3436,7 +3438,7 @@ static int inet6_fill_ifinfo(struct sk_buff *skb, struct inet6_dev *idev,
 			     u32 pid, u32 seq, int event, unsigned int flags)
 {
 	struct net_device *dev = idev->dev;
-	struct nlattr *conf;
+	struct nlattr *nla;
 	struct ifinfomsg *hdr;
 	struct nlmsghdr *nlh;
 	void *protoinfo;
@@ -3476,12 +3478,22 @@ static int inet6_fill_ifinfo(struct sk_buff *skb, struct inet6_dev *idev,
 	ci.retrans_time = idev->nd_parms->retrans_time;
 	NLA_PUT(skb, IFLA_INET6_CACHEINFO, sizeof(ci), &ci);
 
-	conf = nla_reserve(skb, IFLA_INET6_CONF, DEVCONF_MAX * sizeof(s32));
-	if (conf == NULL)
+	nla = nla_reserve(skb, IFLA_INET6_CONF, DEVCONF_MAX * sizeof(s32));
+	if (nla == NULL)
 		goto nla_put_failure;
-	ipv6_store_devconf(&idev->cnf, nla_data(conf), nla_len(conf));
+	ipv6_store_devconf(&idev->cnf, nla_data(nla), nla_len(nla));
 
-	/* XXX - Statistics/MC not implemented */
+	/* XXX - MC not implemented */
+
+	nla = nla_reserve(skb, IFLA_INET6_STATS, IPSTATS_MIB_MAX * sizeof(u64));
+	if (nla == NULL)
+		goto nla_put_failure;
+	snmp6_fill_stats(nla_data(nla), idev, IFLA_INET6_STATS, nla_len(nla));
+
+	nla = nla_reserve(skb, IFLA_INET6_ICMP6STATS, ICMP6_MIB_MAX * sizeof(u64));
+	if (nla == NULL)
+		goto nla_put_failure;
+	snmp6_fill_stats(nla_data(nla), idev, IFLA_INET6_ICMP6STATS, nla_len(nla));
 
 	nla_nest_end(skb, protoinfo);
 	return nlmsg_end(skb, nlh);
diff --git a/net/ipv6/proc.c b/net/ipv6/proc.c
index fa3fb50..0dc5515 100644
--- a/net/ipv6/proc.c
+++ b/net/ipv6/proc.c
@@ -207,6 +207,31 @@ static const struct file_operations snmp6_seq_fops = {
 	.release = single_release,
 };
 
+static inline void
+__snmp6_fill_stats(u64 *stats, void **mib, int items, int bytes)
+{
+	int i;
+	int pad = bytes - sizeof(u64) * items;
+	BUG_ON(pad < 0);
+	stats[0] = items;
+	for (i = 1; i < items; i++)
+		stats[i] = (u64)fold_field(mib, i);
+	memset(&stats[items], 0, pad);
+}
+
+void
+snmp6_fill_stats(u64 *stats, struct inet6_dev *idev, int attrtype, int bytes)
+{
+	switch(attrtype) {
+	case IFLA_INET6_STATS:
+		__snmp6_fill_stats(stats, (void **)idev->stats.ipv6, IPSTATS_MIB_MAX, bytes);
+		break;
+	case IFLA_INET6_ICMP6STATS:
+		__snmp6_fill_stats(stats, (void **)idev->stats.icmpv6, ICMP6_MIB_MAX, bytes);
+		break;
+	}
+}
+
 int snmp6_register_dev(struct inet6_dev *idev)
 {
 	struct proc_dir_entry *p;
@@ -283,6 +308,13 @@ int snmp6_unregister_dev(struct inet6_dev *idev)
 {
 	return 0;
 }
+
+void
+snmp6_fill_stats(u64 *stats, struct inet6_dev *idev, int attrtype, int bytes)
+{
+	memset(stats, 0, sizeof(bytes));
+}
+
 #endif	/* CONFIG_PROC_FS */
 
 int snmp6_alloc_dev(struct inet6_dev *idev)

---
commit c471a8be12a140dd2f4ca9ad30d572d36fc9dc83
Author: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Date:   Thu Apr 5 22:30:19 2007 +0900

    [IPV6] SNMP: Move some statistic bits to net/ipv6/proc.c.
    
    Siged-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>

diff --git a/net/ipv6/af_inet6.c b/net/ipv6/af_inet6.c
index df31cdd..825d03e 100644
--- a/net/ipv6/af_inet6.c
+++ b/net/ipv6/af_inet6.c
@@ -712,39 +712,6 @@ int ipv6_opt_accepted(struct sock *sk, struct sk_buff *skb)
 
 EXPORT_SYMBOL_GPL(ipv6_opt_accepted);
 
-int
-snmp6_mib_init(void *ptr[2], size_t mibsize, size_t mibalign)
-{
-	if (ptr == NULL)
-		return -EINVAL;
-
-	ptr[0] = __alloc_percpu(mibsize);
-	if (!ptr[0])
-		goto err0;
-
-	ptr[1] = __alloc_percpu(mibsize);
-	if (!ptr[1])
-		goto err1;
-
-	return 0;
-
-err1:
-	free_percpu(ptr[0]);
-	ptr[0] = NULL;
-err0:
-	return -ENOMEM;
-}
-
-void
-snmp6_mib_free(void *ptr[2])
-{
-	if (ptr == NULL)
-		return;
-	free_percpu(ptr[0]);
-	free_percpu(ptr[1]);
-	ptr[0] = ptr[1] = NULL;
-}
-
 static int __init init_ipv6_mibs(void)
 {
 	if (snmp6_mib_init((void **)ipv6_statistics, sizeof (struct ipstats_mib),
diff --git a/net/ipv6/proc.c b/net/ipv6/proc.c
index 0dc5515..5c3ce1c 100644
--- a/net/ipv6/proc.c
+++ b/net/ipv6/proc.c
@@ -346,4 +346,34 @@ int snmp6_free_dev(struct inet6_dev *idev)
 	return 0;
 }
 
+int snmp6_mib_init(void *ptr[2], size_t mibsize, size_t mibalign)
+{
+	if (ptr == NULL)
+		return -EINVAL;
+
+	ptr[0] = __alloc_percpu(mibsize);
+	if (!ptr[0])
+		goto err0;
+
+	ptr[1] = __alloc_percpu(mibsize);
+	if (!ptr[1])
+		goto err1;
+
+	return 0;
+
+err1:
+	free_percpu(ptr[0]);
+	ptr[0] = NULL;
+err0:
+	return -ENOMEM;
+}
+
+void snmp6_mib_free(void *ptr[2])
+{
+	if (ptr == NULL)
+		return;
+	free_percpu(ptr[0]);
+	free_percpu(ptr[1]);
+	ptr[0] = ptr[1] = NULL;
+}
 

---
commit 5f6de81e10d5d9bef8019689183f513ce6fed05f
Author: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Date:   Thu Apr 5 22:52:09 2007 +0900

    [IPV4] SNMP: Move some statistic bits to net/ipv4/proc.c.
    
    This also fixes memory leak in error path.
    
    Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>

diff --git a/include/net/ip.h b/include/net/ip.h
index 6a08b65..083458a 100644
--- a/include/net/ip.h
+++ b/include/net/ip.h
@@ -166,6 +166,9 @@ DECLARE_SNMP_STAT(struct linux_mib, net_statistics);
 #define NET_ADD_STATS_BH(field, adnd)	SNMP_ADD_STATS_BH(net_statistics, field, adnd)
 #define NET_ADD_STATS_USER(field, adnd)	SNMP_ADD_STATS_USER(net_statistics, field, adnd)
 
+extern int snmp_mib_init(void *ptr[2], size_t mibsize, size_t mibalign);
+extern void snmp_mib_free(void *ptr[2]);
+
 extern int sysctl_local_port_range[2];
 extern int sysctl_ip_default_ttl;
 extern int sysctl_ip_nonlocal_bind;
diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c
index 45ced52..a33ca7e 100644
--- a/net/ipv4/af_inet.c
+++ b/net/ipv4/af_inet.c
@@ -1245,28 +1245,47 @@ static struct net_protocol icmp_protocol = {
 
 static int __init init_ipv4_mibs(void)
 {
-	net_statistics[0] = alloc_percpu(struct linux_mib);
-	net_statistics[1] = alloc_percpu(struct linux_mib);
-	ip_statistics[0] = alloc_percpu(struct ipstats_mib);
-	ip_statistics[1] = alloc_percpu(struct ipstats_mib);
-	icmp_statistics[0] = alloc_percpu(struct icmp_mib);
-	icmp_statistics[1] = alloc_percpu(struct icmp_mib);
-	tcp_statistics[0] = alloc_percpu(struct tcp_mib);
-	tcp_statistics[1] = alloc_percpu(struct tcp_mib);
-	udp_statistics[0] = alloc_percpu(struct udp_mib);
-	udp_statistics[1] = alloc_percpu(struct udp_mib);
-	udplite_statistics[0] = alloc_percpu(struct udp_mib);
-	udplite_statistics[1] = alloc_percpu(struct udp_mib);
-	if (!
-	    (net_statistics[0] && net_statistics[1] && ip_statistics[0]
-	     && ip_statistics[1] && tcp_statistics[0] && tcp_statistics[1]
-	     && udp_statistics[0] && udp_statistics[1]
-	     && udplite_statistics[0] && udplite_statistics[1]             ) )
-		return -ENOMEM;
-
-	(void) tcp_mib_init();
+	if (snmp_mib_init((void **)net_statistics,
+			  sizeof(struct linux_mib),
+			  __alignof__(struct linux_mib)) < 0)
+		goto err_net_mib;
+	if (snmp_mib_init((void **)ip_statistics,
+			  sizeof(struct ipstats_mib),
+			  __alignof__(struct ipstats_mib)) < 0)
+		goto err_ip_mib;
+	if (snmp_mib_init((void **)icmp_statistics,
+			  sizeof(struct icmp_mib),
+			  __alignof__(struct icmp_mib)) < 0)
+		goto err_icmp_mib;
+	if (snmp_mib_init((void **)tcp_statistics,
+			  sizeof(struct tcp_mib),
+			  __alignof__(struct tcp_mib)) < 0)
+		goto err_tcp_mib;
+	if (snmp_mib_init((void **)udp_statistics,
+			  sizeof(struct udp_mib),
+			  __alignof__(struct udp_mib)) < 0)
+		goto err_udp_mib;
+	if (snmp_mib_init((void **)udplite_statistics,
+			  sizeof(struct udp_mib),
+			  __alignof__(struct udp_mib)) < 0)
+		goto err_udplite_mib;
+
+	tcp_mib_init();
 
 	return 0;
+
+err_udplite_mib:
+	snmp_mib_free((void **)udp_statistics);
+err_udp_mib:
+	snmp_mib_free((void **)tcp_statistics);
+err_tcp_mib:
+	snmp_mib_free((void **)icmp_statistics);
+err_icmp_mib:
+	snmp_mib_free((void **)ip_statistics);
+err_ip_mib:
+	snmp_mib_free((void **)net_statistics);
+err_net_mib:
+	return -ENOMEM;
 }
 
 static int ipv4_proc_init(void);
diff --git a/net/ipv4/proc.c b/net/ipv4/proc.c
index ae68a69..97952d5 100644
--- a/net/ipv4/proc.c
+++ b/net/ipv4/proc.c
@@ -391,3 +391,28 @@ out_netstat:
 	goto out;
 }
 
+int snmp_mib_init(void *ptr[2], size_t mibsize, size_t mibalign)
+{
+	BUG_ON(ptr == NULL);
+	ptr[0] = __alloc_percpu(mibsize);
+	if (!ptr[0])
+		goto err0;
+	ptr[1] = __alloc_percpu(mibsize);
+	if (!ptr[1])
+		goto err1;
+	return 0;
+err1:
+	free_percpu(ptr[0]);
+	ptr[0] = NULL;
+err0:
+	return -ENOMEM;
+}
+
+void snmp_mib_free(void *ptr[2])
+{
+	BUG_ON(ptr == NULL);
+	free_percpu(ptr[0]);
+	free_percpu(ptr[1]);
+	ptr[0] = ptr[1] = NULL;
+}
+

---

-- 
YOSHIFUJI Hideaki @ USAGI Project  <yoshfuji@linux-ipv6.org>
GPG-FP  : 9022 65EB 1ECF 3AD1 0BDF  80D8 4807 F894 E062 0EEA

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [GIT PATCH] Exporting IPv6 statistics via netlink.
  2007-04-19  6:42 [GIT PATCH] Exporting IPv6 statistics via netlink YOSHIFUJI Hideaki / 吉藤英明
@ 2007-04-19  8:44 ` Thomas Graf
  2007-04-19  8:58   ` YOSHIFUJI Hideaki / 吉藤英明
  2007-04-21  5:15 ` David Miller
  1 sibling, 1 reply; 8+ messages in thread
From: Thomas Graf @ 2007-04-19  8:44 UTC (permalink / raw)
  To: YOSHIFUJI Hideaki / ?$B5HF#1QL@; +Cc: davem, netdev

* YOSHIFUJI Hideaki / ?$B5HF#1QL@ <yoshfuji@linux-ipv6.org> 2007-04-19 15:42
> 
> Please consider pulling following changesets for supporting exporting
> stats information via netlink, on top of net-2.6.22.

The netlink bits are perfectly fine, why the dependency on proc fs?

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [GIT PATCH] Exporting IPv6 statistics via netlink.
  2007-04-19  8:44 ` Thomas Graf
@ 2007-04-19  8:58   ` YOSHIFUJI Hideaki / 吉藤英明
  2007-04-19 12:04     ` YOSHIFUJI Hideaki / 吉藤英明
  0 siblings, 1 reply; 8+ messages in thread
From: YOSHIFUJI Hideaki / 吉藤英明 @ 2007-04-19  8:58 UTC (permalink / raw)
  To: tgraf; +Cc: davem, netdev

In article <20070419084412.GD521@postel.suug.ch> (at Thu, 19 Apr 2007 10:44:12 +0200), Thomas Graf <tgraf@suug.ch> says:

> * YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> 2007-04-19 15:42
> > 
> > Please consider pulling following changesets for supporting exporting
> > stats information via netlink, on top of net-2.6.22.
> 
> The netlink bits are perfectly fine, why the dependency on proc fs?

I'll follow up to eliminate such dependency afterwards.

--yoshfuji

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [GIT PATCH] Exporting IPv6 statistics via netlink.
  2007-04-19  8:58   ` YOSHIFUJI Hideaki / 吉藤英明
@ 2007-04-19 12:04     ` YOSHIFUJI Hideaki / 吉藤英明
  2007-04-19 20:24       ` David Miller
  2007-04-21  5:15       ` David Miller
  0 siblings, 2 replies; 8+ messages in thread
From: YOSHIFUJI Hideaki / 吉藤英明 @ 2007-04-19 12:04 UTC (permalink / raw)
  To: tgraf, davem; +Cc: davem, netdev

In article <20070419.175855.130993987.yoshfuji@linux-ipv6.org> (at Thu, 19 Apr 2007 17:58:55 +0900 (JST)), YOSHIFUJI Hideaki / 吉藤英明 <yoshfuji@linux-ipv6.org> says:

> In article <20070419084412.GD521@postel.suug.ch> (at Thu, 19 Apr 2007 10:44:12 +0200), Thomas Graf <tgraf@suug.ch> says:
> 
> > * YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> 2007-04-19 15:42
> > > 
> > > Please consider pulling following changesets for supporting exporting
> > > stats information via netlink, on top of net-2.6.22.
> > 
> > The netlink bits are perfectly fine, why the dependency on proc fs?
> 
> I'll follow up to eliminate such dependency afterwards.

Here it is.

All changesets are available on the
    net-2.6.22-20070417-stats-20070419
branch at
    <git://git.linux-ipv6.org/gitroot/yoshfuji/linux-2.6-dev.git>.

---
[IPV6] SNMP: Export statistics via netlink without CONFIG_PROC_FS.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
---
 net/ipv6/proc.c |   10 ++++------
 1 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/net/ipv6/proc.c b/net/ipv6/proc.c
index 5c3ce1c..c847cef 100644
--- a/net/ipv6/proc.c
+++ b/net/ipv6/proc.c
@@ -141,6 +141,7 @@ static struct snmp_mib snmp6_udplite6_list[] = {
 	SNMP_MIB_ITEM("UdpLite6OutDatagrams", UDP_MIB_OUTDATAGRAMS),
 	SNMP_MIB_SENTINEL
 };
+#endif	/* CONFIG_PROC_FS */
 
 static unsigned long
 fold_field(void *mib[], int offt)
@@ -155,6 +156,7 @@ fold_field(void *mib[], int offt)
 	return res;
 }
 
+#ifdef CONFIG_PROC_FS
 static inline void
 snmp6_seq_show_item(struct seq_file *seq, void **mib, struct snmp_mib *itemlist)
 {
@@ -206,6 +208,7 @@ static const struct file_operations snmp6_seq_fops = {
 	.llseek	 = seq_lseek,
 	.release = single_release,
 };
+#endif	/* CONFIG_PROC_FS */
 
 static inline void
 __snmp6_fill_stats(u64 *stats, void **mib, int items, int bytes)
@@ -232,6 +235,7 @@ snmp6_fill_stats(u64 *stats, struct inet6_dev *idev, int attrtype, int bytes)
 	}
 }
 
+#ifdef CONFIG_PROC_FS
 int snmp6_register_dev(struct inet6_dev *idev)
 {
 	struct proc_dir_entry *p;
@@ -309,12 +313,6 @@ int snmp6_unregister_dev(struct inet6_dev *idev)
 	return 0;
 }
 
-void
-snmp6_fill_stats(u64 *stats, struct inet6_dev *idev, int attrtype, int bytes)
-{
-	memset(stats, 0, sizeof(bytes));
-}
-
 #endif	/* CONFIG_PROC_FS */
 
 int snmp6_alloc_dev(struct inet6_dev *idev)
-- 
1.5.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [GIT PATCH] Exporting IPv6 statistics via netlink.
  2007-04-19 12:04     ` YOSHIFUJI Hideaki / 吉藤英明
@ 2007-04-19 20:24       ` David Miller
  2007-04-20  0:18         ` YOSHIFUJI Hideaki / 吉藤英明
  2007-04-21  5:15       ` David Miller
  1 sibling, 1 reply; 8+ messages in thread
From: David Miller @ 2007-04-19 20:24 UTC (permalink / raw)
  To: yoshfuji; +Cc: tgraf, netdev

From: YOSHIFUJI Hideaki / 吉藤英明 <yoshfuji@linux-ipv6.org>
Date: Thu, 19 Apr 2007 21:04:54 +0900 (JST)

> net-2.6.22-20070417-stats-20070419

I tried to pull this but I killed it before it tried to merge
because it looked very large:

remote: Generating pack...
remote: Done counting 5200 objects.
remote: Result has 4227 objects.

such a small set of changes should not need so many objects
:-)

I imagined you created your net-2.6.22 tree from a more
recent clone of Linus's tree, and therefore I'd end
up getting all of those changes too.

What I'll do is try to pull your work into another tree,
extract out just the ipv6 changes discussed here and
then apply them as patches to my net-2.6.22 tree.

Actually, a pull into net-2.6.22 didn't at all, see below :-(

I'm going to rebase my tree today, so please resubmit this work
after I sent a notification here that I have done so.

Thank you.

davem@sunset:~/src/GIT$ git clone -l -s net-2.6.22/.git ipv6-2.6.22
Initialized empty Git repository in /home/davem/src/GIT/ipv6-2.6.22/.git/
Checking files out...
 100% (21559/21559) done
davem@sunset:~/src/GIT$ cd ipv6-2.6.22
davem@sunset:~/src/GIT/ipv6-2.6.22$ git pull git://git.linux-ipv6.org/gitroot/yoshfuji/linux-2.6-dev.git net-2.6.22-20070417-stats-20070419
remote: Generating pack...
remote: Done counting 5200 objects.
remote: Result has 4227 objects.
remote: Deltifying 4227 objects.
remote: 
Indexing 4227 objects.
remote: Total 4227, written 4227 (delta 3889), reused 1 (delta 1)
 100% (4227/4227) done
Resolving 3889 deltas.
 100% (3889/3889) done
1377 objects were added to complete this thin pack.
 100% (22194/22194) done
Auto-merged Documentation/feature-removal-schedule.txt
Auto-merged Documentation/networking/ip-sysctl.txt
Auto-merged arch/ia64/hp/sim/simeth.c
Auto-merged arch/ia64/sn/kernel/xpnet.c
Auto-merged drivers/char/random.c
Auto-merged drivers/connector/connector.c
Auto-merged drivers/infiniband/ulp/ipoib/ipoib_cm.c
Auto-merged drivers/isdn/gigaset/usb-gigaset.c
Auto-merged drivers/isdn/hysdn/hycapi.c
CONFLICT (content): Merge conflict in drivers/isdn/hysdn/hycapi.c
Auto-merged drivers/isdn/pcbit/capi.c
CONFLICT (content): Merge conflict in drivers/isdn/pcbit/capi.c
Auto-merged drivers/net/3c523.c
CONFLICT (content): Merge conflict in drivers/net/3c523.c
Auto-merged drivers/net/8139too.c
Auto-merged drivers/net/appletalk/ltpc.c
Auto-merged drivers/net/atari_bionet.c
Auto-merged drivers/net/atari_pamsnet.c
Auto-merged drivers/net/atl1/atl1_main.c
Auto-merged drivers/net/b44.c
Auto-merged drivers/net/bnx2.c
Auto-merged drivers/net/bonding/bond_main.c
Auto-merged drivers/net/chelsio/sge.c
Auto-merged drivers/net/cxgb3/cxgb3_offload.c
Auto-merged drivers/net/cxgb3/sge.c
Auto-merged drivers/net/defxx.c
Auto-merged drivers/net/e1000/e1000_main.c
Auto-merged drivers/net/ehea/ehea_main.c
Auto-merged drivers/net/forcedeth.c
Auto-merged drivers/net/irda/ali-ircc.c
Auto-merged drivers/net/irda/au1k_ir.c
Auto-merged drivers/net/irda/donauboe.c
Auto-merged drivers/net/irda/mcs7780.c
Auto-merged drivers/net/irda/nsc-ircc.c
Auto-merged drivers/net/irda/pxaficp_ir.c
Auto-merged drivers/net/irda/stir4200.c
Auto-merged drivers/net/irda/via-ircc.c
Auto-merged drivers/net/irda/w83977af_ir.c
Auto-merged drivers/net/ixgb/ixgb_main.c
Auto-merged drivers/net/loopback.c
CONFLICT (content): Merge conflict in drivers/net/loopback.c
Auto-merged drivers/net/macb.c
Auto-merged drivers/net/mv643xx_eth.c
Auto-merged drivers/net/myri10ge/myri10ge.c
Auto-merged drivers/net/netxen/netxen_nic_init.c
Auto-merged drivers/net/ni52.c
CONFLICT (content): Merge conflict in drivers/net/ni52.c
Auto-merged drivers/net/qla3xxx.c
Auto-merged drivers/net/r8169.c
Auto-merged drivers/net/sc92031.c
Auto-merged drivers/net/sis190.c
Auto-merged drivers/net/sk98lin/skge.c
Auto-merged drivers/net/skfp/skfddi.c
Auto-merged drivers/net/skge.c
Auto-merged drivers/net/sky2.c
Auto-merged drivers/net/sun3lance.c
Auto-merged drivers/net/sungem.c
Auto-merged drivers/net/tg3.c
Auto-merged drivers/net/tokenring/3c359.c
CONFLICT (content): Merge conflict in drivers/net/tokenring/3c359.c
Auto-merged drivers/net/tokenring/olympic.c
CONFLICT (content): Merge conflict in drivers/net/tokenring/olympic.c
Auto-merged drivers/net/tokenring/smctr.c
Auto-merged drivers/net/tokenring/tms380tr.c
Auto-merged drivers/net/wan/pc300_drv.c
Auto-merged drivers/net/wan/pc300_tty.c
Auto-merged drivers/net/wan/z85230.c
Auto-merged drivers/net/wireless/prism54/islpci_eth.c
CONFLICT (content): Merge conflict in drivers/net/wireless/prism54/islpci_eth.c
Auto-merged drivers/s390/net/qeth_main.c
Auto-merged drivers/scsi/scsi_netlink.c
Auto-merged drivers/scsi/scsi_transport_iscsi.c
Auto-merged drivers/usb/atm/usbatm.c
CONFLICT (content): Merge conflict in drivers/usb/atm/usbatm.c
Auto-merged drivers/usb/net/asix.c
Auto-merged fs/compat_ioctl.c
Auto-merged fs/ecryptfs/netlink.c
Auto-merged include/linux/dccp.h
Auto-merged include/linux/fib_rules.h
CONFLICT (content): Merge conflict in include/linux/fib_rules.h
Auto-merged include/linux/if_pppox.h
Auto-merged include/linux/netlink.h
Auto-merged include/linux/skbuff.h
CONFLICT (content): Merge conflict in include/linux/skbuff.h
Auto-merged include/linux/sysctl.h
Auto-merged include/linux/tcp.h
Auto-merged include/net/ip.h
Auto-merged include/net/pkt_cls.h
Auto-merged include/net/pkt_sched.h
Auto-merged include/net/tcp.h
CONFLICT (content): Merge conflict in include/net/tcp.h
Auto-merged include/net/udp.h
Auto-merged kernel/audit.c
Auto-merged kernel/hrtimer.c
Auto-merged kernel/time.c
Auto-merged lib/div64.c
Auto-merged net/appletalk/ddp.c
Auto-merged net/atm/br2684.c
Auto-merged net/atm/lec.c
Auto-merged net/atm/mpc.c
Auto-merged net/ax25/ax25_in.c
Auto-merged net/bridge/br.c
Auto-merged net/bridge/br_device.c
Auto-merged net/bridge/br_fdb.c
CONFLICT (content): Merge conflict in net/bridge/br_fdb.c
Auto-merged net/bridge/br_netfilter.c
CONFLICT (content): Merge conflict in net/bridge/br_netfilter.c
Auto-merged net/bridge/br_netlink.c
Auto-merged net/bridge/br_private.h
Auto-merged net/bridge/netfilter/ebt_ulog.c
Auto-merged net/core/dev.c
CONFLICT (content): Merge conflict in net/core/dev.c
Auto-merged net/core/fib_rules.c
CONFLICT (content): Merge conflict in net/core/fib_rules.c
Auto-merged net/core/netpoll.c
Auto-merged net/core/rtnetlink.c
CONFLICT (content): Merge conflict in net/core/rtnetlink.c
Auto-merged net/core/skbuff.c
CONFLICT (content): Merge conflict in net/core/skbuff.c
Auto-merged net/core/wireless.c
CONFLICT (content): Merge conflict in net/core/wireless.c
Auto-merged net/dccp/ccids/ccid3.c
CONFLICT (content): Merge conflict in net/dccp/ccids/ccid3.c
Auto-merged net/dccp/options.c
Auto-merged net/decnet/dn_dev.c
Auto-merged net/decnet/dn_rules.c
CONFLICT (content): Merge conflict in net/decnet/dn_rules.c
Auto-merged net/decnet/netfilter/dn_rtmsg.c
Auto-merged net/ieee80211/ieee80211_rx.c
Auto-merged net/ipv4/af_inet.c
Auto-merged net/ipv4/devinet.c
Auto-merged net/ipv4/esp4.c
CONFLICT (content): Merge conflict in net/ipv4/esp4.c
Auto-merged net/ipv4/fib_frontend.c
Auto-merged net/ipv4/fib_rules.c
CONFLICT (content): Merge conflict in net/ipv4/fib_rules.c
Auto-merged net/ipv4/fib_trie.c
Auto-merged net/ipv4/inet_diag.c
Auto-merged net/ipv4/ipcomp.c
Auto-merged net/ipv4/ipmr.c
CONFLICT (content): Merge conflict in net/ipv4/ipmr.c
Auto-merged net/ipv4/ipvs/ip_vs_app.c
Auto-merged net/ipv4/ipvs/ip_vs_core.c
Auto-merged net/ipv4/netfilter/ip_queue.c
Auto-merged net/ipv4/netfilter/ipt_CLUSTERIP.c
Auto-merged net/ipv4/netfilter/ipt_LOG.c
Auto-merged net/ipv4/netfilter/ipt_ULOG.c
Auto-merged net/ipv4/netfilter/nf_nat_helper.c
Auto-merged net/ipv4/tcp_input.c
CONFLICT (content): Merge conflict in net/ipv4/tcp_input.c
Auto-merged net/ipv4/tcp_ipv4.c
Auto-merged net/ipv4/tcp_minisocks.c
Auto-merged net/ipv4/tcp_output.c
CONFLICT (content): Merge conflict in net/ipv4/tcp_output.c
Auto-merged net/ipv4/udp.c
CONFLICT (content): Merge conflict in net/ipv4/udp.c
Auto-merged net/ipv4/xfrm4_mode_beet.c
CONFLICT (content): Merge conflict in net/ipv4/xfrm4_mode_beet.c
Auto-merged net/ipv6/addrconf.c
Auto-merged net/ipv6/af_inet6.c
Auto-merged net/ipv6/esp6.c
CONFLICT (content): Merge conflict in net/ipv6/esp6.c
Auto-merged net/ipv6/fib6_rules.c
Auto-merged net/ipv6/ip6_input.c
Auto-merged net/ipv6/ipcomp6.c
Auto-merged net/ipv6/netfilter/ip6_queue.c
Auto-merged net/ipv6/netfilter/ip6t_LOG.c
Auto-merged net/ipv6/raw.c
CONFLICT (content): Merge conflict in net/ipv6/raw.c
Auto-merged net/ipv6/route.c
Auto-merged net/ipv6/tcp_ipv6.c
Auto-merged net/ipv6/udp.c
CONFLICT (content): Merge conflict in net/ipv6/udp.c
Auto-merged net/irda/irttp.c
Auto-merged net/irda/wrapper.c
Auto-merged net/netfilter/nfnetlink.c
Auto-merged net/netfilter/nfnetlink_log.c
Auto-merged net/netfilter/nfnetlink_queue.c
Auto-merged net/netlink/af_netlink.c
CONFLICT (content): Merge conflict in net/netlink/af_netlink.c
Auto-merged net/netlink/genetlink.c
Auto-merged net/netrom/nr_in.c
Auto-merged net/netrom/nr_out.c
Auto-merged net/rose/af_rose.c
Auto-merged net/sched/act_mirred.c
Auto-merged net/sched/cls_api.c
Auto-merged net/sched/cls_basic.c
Auto-merged net/sched/cls_route.c
Auto-merged net/sched/cls_tcindex.c
Auto-merged net/sched/sch_api.c
Auto-merged net/sched/sch_hfsc.c
Auto-merged net/sched/sch_htb.c
Auto-merged net/sched/sch_ingress.c
Auto-merged net/sctp/input.c
Auto-merged net/socket.c
Auto-merged net/sunrpc/svcsock.c
Auto-merged net/wanrouter/wanmain.c
Auto-merged net/x25/x25_in.c
Auto-merged net/x25/x25_out.c
Auto-merged net/xfrm/xfrm_state.c
Auto-merged net/xfrm/xfrm_user.c
Auto-merged security/selinux/netlink.c
Automatic merge failed; fix conflicts and then commit the result.
davem@sunset:~/src/GIT/ipv6-2.6.22$ 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [GIT PATCH] Exporting IPv6 statistics via netlink.
  2007-04-19 20:24       ` David Miller
@ 2007-04-20  0:18         ` YOSHIFUJI Hideaki / 吉藤英明
  0 siblings, 0 replies; 8+ messages in thread
From: YOSHIFUJI Hideaki / 吉藤英明 @ 2007-04-20  0:18 UTC (permalink / raw)
  To: davem; +Cc: tgraf, netdev

In article <20070419.132412.48397910.davem@davemloft.net> (at Thu, 19 Apr 2007 13:24:12 -0700 (PDT)), David Miller <davem@davemloft.net> says:

> From: YOSHIFUJI Hideaki / 吉藤英明 <yoshfuji@linux-ipv6.org>
> Date: Thu, 19 Apr 2007 21:04:54 +0900 (JST)
> 
> > net-2.6.22-20070417-stats-20070419
> 
> I tried to pull this but I killed it before it tried to merge
> because it looked very large:
> 
> remote: Generating pack...
> remote: Done counting 5200 objects.
> remote: Result has 4227 objects.
> 
> such a small set of changes should not need so many objects
> :-)
:
> I'm going to rebase my tree today, so please resubmit this work
> after I sent a notification here that I have done so.

Hmm, strange; something was wrong.
Any way, of course, I will do so.

Regards,

--yoshfuji

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [GIT PATCH] Exporting IPv6 statistics via netlink.
  2007-04-19  6:42 [GIT PATCH] Exporting IPv6 statistics via netlink YOSHIFUJI Hideaki / 吉藤英明
  2007-04-19  8:44 ` Thomas Graf
@ 2007-04-21  5:15 ` David Miller
  1 sibling, 0 replies; 8+ messages in thread
From: David Miller @ 2007-04-21  5:15 UTC (permalink / raw)
  To: yoshfuji; +Cc: tgraf, netdev

From: YOSHIFUJI Hideaki / 吉藤英明 <yoshfuji@linux-ipv6.org>
Date: Thu, 19 Apr 2007 15:42:09 +0900 (JST)

>     [IPV6] SNMP: Netlink interface.
>     [IPV6] SNMP: Move some statistic bits to net/ipv6/proc.c.
>     [IPV4] SNMP: Move some statistic bits to net/ipv4/proc.c.

I applied these as patches to my net-2.6.22 tree.

Thanks.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [GIT PATCH] Exporting IPv6 statistics via netlink.
  2007-04-19 12:04     ` YOSHIFUJI Hideaki / 吉藤英明
  2007-04-19 20:24       ` David Miller
@ 2007-04-21  5:15       ` David Miller
  1 sibling, 0 replies; 8+ messages in thread
From: David Miller @ 2007-04-21  5:15 UTC (permalink / raw)
  To: yoshfuji; +Cc: tgraf, netdev

From: YOSHIFUJI Hideaki / 吉藤英明 <yoshfuji@linux-ipv6.org>
Date: Thu, 19 Apr 2007 21:04:54 +0900 (JST)

> [IPV6] SNMP: Export statistics via netlink without CONFIG_PROC_FS.
> 
> Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>

I applied this to my net-2.6.22 tree, thank you.

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2007-04-21  5:15 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-04-19  6:42 [GIT PATCH] Exporting IPv6 statistics via netlink YOSHIFUJI Hideaki / 吉藤英明
2007-04-19  8:44 ` Thomas Graf
2007-04-19  8:58   ` YOSHIFUJI Hideaki / 吉藤英明
2007-04-19 12:04     ` YOSHIFUJI Hideaki / 吉藤英明
2007-04-19 20:24       ` David Miller
2007-04-20  0:18         ` YOSHIFUJI Hideaki / 吉藤英明
2007-04-21  5:15       ` David Miller
2007-04-21  5:15 ` David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).