|
From: Andy P. <at...@us...> - 2002-04-09 16:27:05
|
Update of /cvsroot/linux-vax/kernel-2.4/net/ipx
In directory usw-pr-cvs1:/tmp/cvs-serv31773/ipx
Modified Files:
Makefile af_ipx.c af_spx.c sysctl_net_ipx.c
Log Message:
synch 2.4.15 commit 20
Index: Makefile
===================================================================
RCS file: /cvsroot/linux-vax/kernel-2.4/net/ipx/Makefile,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -r1.1.1.1 -r1.2
--- Makefile 14 Jan 2001 17:11:03 -0000 1.1.1.1
+++ Makefile 9 Apr 2002 16:26:57 -0000 1.2
@@ -23,6 +23,3 @@
obj-$(CONFIG_SPX) += af_spx.o
include $(TOPDIR)/Rules.make
-
-tar:
- tar -cvf /dev/f1 .
Index: af_ipx.c
===================================================================
RCS file: /cvsroot/linux-vax/kernel-2.4/net/ipx/af_ipx.c,v
retrieving revision 1.1.1.2
retrieving revision 1.2
diff -u -r1.1.1.2 -r1.2
--- af_ipx.c 25 Feb 2001 23:14:56 -0000 1.1.1.2
+++ af_ipx.c 9 Apr 2002 16:26:57 -0000 1.2
@@ -65,6 +65,14 @@
* Arnaldo Carvalho de Melo <ac...@co...>,
* December, 2000
* Revision 044: Call ipxitf_hold on NETDEV_UP (acme)
+ * Revision 045: fix PPROP routing bug (acme)
+ * Revision 046: Further fixes to PPROP, ipxitf_create_internal was
+ * doing an unneeded MOD_INC_USE_COUNT, implement
+ * sysctl for ipx_pprop_broacasting, fix the ipx sysctl
+ * handling, making it dynamic, some cleanups, thanks to
+ * Petr Vandrovec for review and good suggestions. (acme)
+ * Revision 047: Cleanups, CodingStyle changes, move the ncp connection
+ * hack out of line (acme)
[...2305 lines suppressed...]
-static void ipx_proto_finito(void)
+static void __exit ipx_proto_finito(void)
{
/* no need to worry about having anything on the ipx_interfaces
* list, when a interface is created we increment the module
@@ -2541,6 +2615,7 @@
proc_net_remove("ipx_route");
proc_net_remove("ipx_interface");
proc_net_remove("ipx");
+ ipx_unregister_sysctl();
unregister_netdevice_notifier(&ipx_dev_notifier);
@@ -2562,5 +2637,4 @@
}
module_exit(ipx_proto_finito);
-#endif /* MODULE */
-#endif /* CONFIG_IPX || CONFIG_IPX_MODULE */
+MODULE_LICENSE("GPL");
Index: af_spx.c
===================================================================
RCS file: /cvsroot/linux-vax/kernel-2.4/net/ipx/af_spx.c,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -r1.1.1.1 -r1.2
--- af_spx.c 14 Jan 2001 17:11:14 -0000 1.1.1.1
+++ af_spx.c 9 Apr 2002 16:26:57 -0000 1.2
@@ -6,7 +6,7 @@
* Revision Date: February 9, 1993
*
* Developers:
- * Jay Schulist <js...@tu...>
+ * Jay Schulist <js...@sa...>
* Jim Freeman <jf...@ca...>
*
* Changes:
@@ -31,8 +31,6 @@
* This material is provided "as is" and at no charge.
*/
-#include <linux/config.h>
-#if defined(CONFIG_SPX) || defined(CONFIG_SPX_MODULE)
#include <linux/module.h>
#include <net/ipx.h>
#include <net/spx.h>
@@ -400,7 +398,7 @@
pdata->retransmit.expires = jiffies + spx_calc_rtt(0);
add_timer(&pdata->retransmit);
- skb2 = skb_clone(skb, GFP_BUFFER);
+ skb2 = skb_clone(skb, GFP_NOIO);
if(skb2 == NULL)
return -ENOBUFS;
skb_queue_tail(&pdata->retransmit_queue, skb2);
@@ -440,7 +438,7 @@
save_flags(flags);
cli();
- skb = sock_alloc_send_skb(sk, size, 1, 0, &err);
+ skb = sock_alloc_send_skb(sk, size, 0, &err);
if(skb == NULL) {
restore_flags(flags);
return (-ENOMEM);
@@ -742,7 +740,7 @@
size = offset + sizeof(struct ipxspxhdr) + len;
cli();
- skb = sock_alloc_send_skb(sk, size, 0, flags&MSG_DONTWAIT, &err);
+ skb = sock_alloc_send_skb(sk, size, flags&MSG_DONTWAIT, &err);
sti();
if(skb == NULL)
return (err);
@@ -901,20 +899,20 @@
sendmsg: spx_sendmsg,
recvmsg: spx_recvmsg,
mmap: sock_no_mmap,
+ sendpage: sock_no_sendpage,
};
#include <linux/smp_lock.h>
SOCKOPS_WRAP(spx, PF_IPX);
-
-static struct net_proto_family spx_family_ops=
-{
- PF_IPX,
- spx_create
+static struct net_proto_family spx_family_ops = {
+ family: PF_IPX,
+ create: spx_create,
};
+static char banner[] __initdata = KERN_INFO "NET4: Sequenced Packet eXchange (SPX) 0.02 for Linux NET4.0\n";
-void spx_proto_init(void)
+static int __init spx_proto_init(void)
{
int error;
@@ -926,29 +924,14 @@
/* route socket(PF_IPX, SOCK_SEQPACKET) calls through spx_create() */
- printk(KERN_INFO "NET4: Sequenced Packet eXchange (SPX) 0.02 for Linux NET4.0\n");
- return;
+ printk(banner);
+ return 0;
}
+module_init(spx_proto_init);
-void spx_proto_finito(void)
+static void __exit spx_proto_finito(void)
{
ipx_unregister_spx();
return;
}
-
-#ifdef MODULE
-
-int init_module(void)
-{
- spx_proto_init();
- return 0;
-}
-
-void cleanup_module(void)
-{
- spx_proto_finito();
- return;
-}
-
-#endif /* MODULE */
-#endif /* CONFIG_SPX || CONFIG_SPX_MODULE */
+module_exit(spx_proto_finito);
Index: sysctl_net_ipx.c
===================================================================
RCS file: /cvsroot/linux-vax/kernel-2.4/net/ipx/sysctl_net_ipx.c,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -r1.1.1.1 -r1.2
--- sysctl_net_ipx.c 14 Jan 2001 17:11:11 -0000 1.1.1.1
+++ sysctl_net_ipx.c 9 Apr 2002 16:26:57 -0000 1.2
@@ -3,11 +3,45 @@
*
* Begun April 1, 1996, Mike Shaver.
* Added /proc/sys/net/ipx directory entry (empty =) ). [MS]
+ * Added /proc/sys/net/ipx/ipx_pprop_broadcasting - acme March 4, 2001
*/
+#include <linux/config.h>
#include <linux/mm.h>
#include <linux/sysctl.h>
+#ifndef CONFIG_SYSCTL
+#error This file should not be compiled without CONFIG_SYSCTL defined
+#endif
+
+/* From af_ipx.c */
+extern int sysctl_ipx_pprop_broadcasting;
+
ctl_table ipx_table[] = {
- {0}
+ { NET_IPX_PPROP_BROADCASTING, "ipx_pprop_broadcasting",
+ &sysctl_ipx_pprop_broadcasting, sizeof(int), 0644, NULL,
+ &proc_dointvec },
+ { 0 }
};
+
+static ctl_table ipx_dir_table[] = {
+ { NET_IPX, "ipx", NULL, 0, 0555, ipx_table },
+ { 0 }
+};
+
+static ctl_table ipx_root_table[] = {
+ { CTL_NET, "net", NULL, 0, 0555, ipx_dir_table },
+ { 0 }
+};
+
+static struct ctl_table_header *ipx_table_header;
+
+void ipx_register_sysctl(void)
+{
+ ipx_table_header = register_sysctl_table(ipx_root_table, 1);
+}
+
+void ipx_unregister_sysctl(void)
+{
+ unregister_sysctl_table(ipx_table_header);
+}
|