* [PATCH] [ipv4] move proc init to newly created net/ipv4/ip_proc.c
@ 2002-10-12 1:06 Arnaldo Carvalho de Melo
2002-10-12 1:26 ` David S. Miller
0 siblings, 1 reply; 3+ messages in thread
From: Arnaldo Carvalho de Melo @ 2002-10-12 1:06 UTC (permalink / raw)
To: David S. Miller; +Cc: Linux Kernel Mailing List
David,
Please consider pulling from:
master.kernel.org:/home/acme/BK/ip-2.5
- Arnaldo
You can import this changeset into BK by piping this whole message to:
'| bk receive [path to repository]' or apply the patch as usual.
===================================================================
ChangeSet@1.735, 2002-10-11 20:49:08-03:00, acme@conectiva.com.br
[ipv4] move proc init to newly created net/ipv4/ip_proc.c
This is the start of the seq_file work, so that I can see if anybody
will cough too much on the choosen path...
Also convert some unneeded __constat_htons to plain htons, that results
in the same code being generated.
include/net/ip.h | 8 +++---
net/ipv4/Makefile | 2 -
net/ipv4/af_inet.c | 20 +--------------
net/ipv4/ip_proc.c | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 78 insertions(+), 22 deletions(-)
diff -Nru a/include/net/ip.h b/include/net/ip.h
--- a/include/net/ip.h Fri Oct 11 21:34:47 2002
+++ b/include/net/ip.h Fri Oct 11 21:34:47 2002
@@ -174,7 +174,7 @@
int ip_decrease_ttl(struct iphdr *iph)
{
u32 check = iph->check;
- check += __constant_htons(0x0100);
+ check += htons(0x0100);
iph->check = check + (check>=0xFFFF);
return --iph->ttl;
}
@@ -191,7 +191,7 @@
static inline void ip_select_ident(struct iphdr *iph, struct dst_entry *dst, struct sock *sk)
{
- if (iph->frag_off&__constant_htons(IP_DF)) {
+ if (iph->frag_off & htons(IP_DF)) {
/* This is only to work around buggy Windows95/2000
* VJ compression implementations. If the ID field
* does not change, they drop every other packet in
@@ -205,7 +205,7 @@
static inline void ip_select_ident_more(struct iphdr *iph, struct dst_entry *dst, struct sock *sk, int more)
{
- if (iph->frag_off&__constant_htons(IP_DF)) {
+ if (iph->frag_off & htons(IP_DF)) {
if (sk && inet_sk(sk)->daddr) {
iph->id = htons(inet_sk(sk)->id);
inet_sk(sk)->id += 1 + more;
@@ -279,5 +279,7 @@
u16 port, u32 info, u8 *payload);
extern void ip_local_error(struct sock *sk, int err, u32 daddr, u16 dport,
u32 info);
+
+extern int ipv4_proc_init(void);
#endif /* _IP_H */
diff -Nru a/net/ipv4/Makefile b/net/ipv4/Makefile
--- a/net/ipv4/Makefile Fri Oct 11 21:34:47 2002
+++ b/net/ipv4/Makefile Fri Oct 11 21:34:47 2002
@@ -4,7 +4,7 @@
obj-y := utils.o route.o inetpeer.o proc.o protocol.o \
ip_input.o ip_fragment.o ip_forward.o ip_options.o \
- ip_output.o ip_sockglue.o \
+ ip_output.o ip_sockglue.o ip_proc.o \
tcp.o tcp_input.o tcp_output.o tcp_timer.o tcp_ipv4.o tcp_minisocks.o \
tcp_diag.o raw.o udp.o arp.o icmp.o devinet.o af_inet.o igmp.o \
sysctl_net_ipv4.o fib_frontend.o fib_semantics.o fib_hash.o
diff -Nru a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c
--- a/net/ipv4/af_inet.c Fri Oct 11 21:34:47 2002
+++ b/net/ipv4/af_inet.c Fri Oct 11 21:34:47 2002
@@ -82,7 +82,6 @@
#include <linux/fcntl.h>
#include <linux/mm.h>
#include <linux/interrupt.h>
-#include <linux/proc_fs.h>
#include <linux/stat.h>
#include <linux/init.h>
#include <linux/poll.h>
@@ -124,12 +123,6 @@
atomic_t inet_sock_nr;
#endif
-extern int raw_get_info(char *, char **, off_t, int);
-extern int snmp_get_info(char *, char **, off_t, int);
-extern int netstat_get_info(char *, char **, off_t, int);
-extern int afinet_get_info(char *, char **, off_t, int);
-extern int tcp_get_info(char *, char **, off_t, int);
-extern int udp_get_info(char *, char **, off_t, int);
extern void ip_mc_drop_socket(struct sock *sk);
#ifdef CONFIG_DLCI
@@ -1211,17 +1204,8 @@
ip_mr_init();
#endif
- /*
- * Create all the /proc entries.
- */
-#ifdef CONFIG_PROC_FS
- proc_net_create ("raw", 0, raw_get_info);
- proc_net_create ("netstat", 0, netstat_get_info);
- proc_net_create ("snmp", 0, snmp_get_info);
- proc_net_create ("sockstat", 0, afinet_get_info);
- proc_net_create ("tcp", 0, tcp_get_info);
- proc_net_create ("udp", 0, udp_get_info);
-#endif /* CONFIG_PROC_FS */
+ ipv4_proc_init();
return 0;
}
+
module_init(inet_init);
diff -Nru a/net/ipv4/ip_proc.c b/net/ipv4/ip_proc.c
--- /dev/null Wed Dec 31 16:00:00 1969
+++ b/net/ipv4/ip_proc.c Fri Oct 11 21:34:47 2002
@@ -0,0 +1,70 @@
+/*
+ * INET An implementation of the TCP/IP protocol suite for the LINUX
+ * operating system. INET is implemented using the BSD Socket
+ * interface as the means of communication with the user level.
+ *
+ * ipv4 proc support
+ *
+ * Arnaldo Carvalho de Melo <acme@conectiva.com.br>, 2002/10/10
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; version 2 of the
+ * License
+ */
+
+#include <linux/config.h>
+#include <linux/init.h>
+#include <linux/proc_fs.h>
+
+extern int raw_get_info(char *, char **, off_t, int);
+extern int snmp_get_info(char *, char **, off_t, int);
+extern int netstat_get_info(char *, char **, off_t, int);
+extern int afinet_get_info(char *, char **, off_t, int);
+extern int tcp_get_info(char *, char **, off_t, int);
+extern int udp_get_info(char *, char **, off_t, int);
+
+#ifdef CONFIG_PROC_FS
+int __init ipv4_proc_init(void)
+{
+ int rc = 0;
+
+ if (!proc_net_create("raw", 0, raw_get_info))
+ goto out_raw;
+
+ if (!proc_net_create("netstat", 0, netstat_get_info))
+ goto out_netstat;
+
+ if (!proc_net_create("snmp", 0, snmp_get_info))
+ goto out_snmp;
+
+ if (!proc_net_create("sockstat", 0, afinet_get_info))
+ goto out_sockstat;
+
+ if (!proc_net_create("tcp", 0, tcp_get_info))
+ goto out_tcp;
+
+ if (!proc_net_create("udp", 0, udp_get_info))
+ goto out_udp;
+out:
+ return rc;
+out_udp:
+ proc_net_remove("tcp");
+out_tcp:
+ proc_net_remove("sockstat");
+out_sockstat:
+ proc_net_remove("snmp");
+out_snmp:
+ proc_net_remove("netstat");
+out_netstat:
+ proc_net_remove("raw");
+out_raw:
+ rc = -ENOMEM;
+ goto out;
+}
+#else /* CONFIG_PROC_FS */
+int __init ipv4_proc_init(void)
+{
+ return 0;
+}
+#endif /* CONFIG_PROC_FS */
===================================================================
This BitKeeper patch contains the following changesets:
1.735
## Wrapped with gzip_uu ##
begin 664 bkpatch8730
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
=<I'TZ>9_![HRU4U^@+W/T(^&/OD'I86%A)48````
`
end
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] [ipv4] move proc init to newly created net/ipv4/ip_proc.c
2002-10-12 1:06 [PATCH] [ipv4] move proc init to newly created net/ipv4/ip_proc.c Arnaldo Carvalho de Melo
@ 2002-10-12 1:26 ` David S. Miller
2002-10-12 1:36 ` Arnaldo Carvalho de Melo
0 siblings, 1 reply; 3+ messages in thread
From: David S. Miller @ 2002-10-12 1:26 UTC (permalink / raw)
To: acme; +Cc: linux-kernel
From: Arnaldo Carvalho de Melo <acme@conectiva.com.br>
Date: Fri, 11 Oct 2002 22:06:49 -0300
Please consider pulling from:
master.kernel.org:/home/acme/BK/ip-2.5
Pulled, thanks.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] [ipv4] move proc init to newly created net/ipv4/ip_proc.c
2002-10-12 1:26 ` David S. Miller
@ 2002-10-12 1:36 ` Arnaldo Carvalho de Melo
0 siblings, 0 replies; 3+ messages in thread
From: Arnaldo Carvalho de Melo @ 2002-10-12 1:36 UTC (permalink / raw)
To: David S. Miller; +Cc: linux-kernel
Em Fri, Oct 11, 2002 at 06:26:14PM -0700, David S. Miller escreveu:
> From: Arnaldo Carvalho de Melo <acme@conectiva.com.br>
> Date: Fri, 11 Oct 2002 22:06:49 -0300
>
> Please consider pulling from:
>
> master.kernel.org:/home/acme/BK/ip-2.5
>
> Pulled, thanks.
Thanks, I'm working now on net/ipv4/arp.c.
- Arnaldo
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2002-10-12 1:30 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-10-12 1:06 [PATCH] [ipv4] move proc init to newly created net/ipv4/ip_proc.c Arnaldo Carvalho de Melo
2002-10-12 1:26 ` David S. Miller
2002-10-12 1:36 ` Arnaldo Carvalho de Melo
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.