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); +} |