Re: [2.6 patch] move some code to net/ipx/af_ipx.c
On Sat, Feb 04, 2006 at 02:09:59AM +0100, Adrian Bunk wrote: This patch moves some code only used in this file to net/ipx/af_ipx.c . this doesn't make any sense. the code is part of the 802.2/3 layer, not the ipx layer even if no other protocol makes use of it yet. - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[2.6 patch] move some code to net/ipx/af_ipx.c
This patch moves some code only used in this file to net/ipx/af_ipx.c . Signed-off-by: Adrian Bunk [EMAIL PROTECTED] --- This patch was already sent on: - 22 Jan 2006 - 14 Jan 2006 include/net/p8022.h | 13 - net/802/Makefile | 14 ++--- net/802/p8022.c | 66 --- net/802/p8023.c | 61 - net/8021q/vlan.c |1 net/8021q/vlan_dev.c |1 net/ethernet/Makefile |2 net/ethernet/pe2.c| 39 net/ipx/af_ipx.c | 102 -- 9 files changed, 106 insertions(+), 193 deletions(-) --- linux-2.6.15-rc1-mm1-full/net/ethernet/Makefile.old 2005-11-18 02:15:17.0 +0100 +++ linux-2.6.15-rc1-mm1-full/net/ethernet/Makefile 2005-11-18 02:15:22.0 +0100 @@ -4,5 +4,3 @@ obj-y += eth.o obj-$(CONFIG_SYSCTL) += sysctl_net_ether.o -obj-$(subst m,y,$(CONFIG_IPX)) += pe2.o -obj-$(subst m,y,$(CONFIG_ATALK)) += pe2.o --- linux-2.6.15-rc1-mm1-full/net/8021q/vlan.c.old 2005-11-18 02:19:40.0 +0100 +++ linux-2.6.15-rc1-mm1-full/net/8021q/vlan.c 2005-11-18 02:19:46.0 +0100 @@ -26,7 +26,6 @@ #include linux/mm.h #include linux/in.h #include linux/init.h -#include net/p8022.h #include net/arp.h #include linux/rtnetlink.h #include linux/notifier.h --- linux-2.6.15-rc1-mm1-full/net/8021q/vlan_dev.c.old 2005-11-18 02:19:55.0 +0100 +++ linux-2.6.15-rc1-mm1-full/net/8021q/vlan_dev.c 2005-11-18 02:19:58.0 +0100 @@ -29,7 +29,6 @@ #include linux/netdevice.h #include linux/etherdevice.h #include net/datalink.h -#include net/p8022.h #include net/arp.h #include vlan.h --- linux-2.6.15-rc1-mm1-full/net/ipx/af_ipx.c.old 2005-11-18 02:17:00.0 +0100 +++ linux-2.6.15-rc1-mm1-full/net/ipx/af_ipx.c 2005-11-18 02:26:01.0 +0100 @@ -48,10 +48,10 @@ #include linux/termios.h #include net/ipx.h -#include net/p8022.h #include net/psnap.h #include net/sock.h #include net/tcp_states.h +#include net/llc.h #include asm/uaccess.h @@ -1939,8 +1939,104 @@ .notifier_call = ipxitf_device_event, }; -extern struct datalink_proto *make_EII_client(void); -extern void destroy_EII_client(struct datalink_proto *); +static int p8022_request(struct datalink_proto *dl, struct sk_buff *skb, +unsigned char *dest) +{ + llc_build_and_send_ui_pkt(dl-sap, skb, dest, dl-sap-laddr.lsap); + return 0; +} + +static struct datalink_proto *register_8022_client(unsigned char type, + int (*func)(struct sk_buff *skb, + struct net_device *dev, + struct packet_type *pt, + struct net_device *orig_dev)) +{ + struct datalink_proto *proto; + + proto = kmalloc(sizeof(*proto), GFP_ATOMIC); + if (proto) { + proto-type[0] = type; + proto-header_length= 3; + proto-request = p8022_request; + proto-sap = llc_sap_open(type, func); + if (!proto-sap) { + kfree(proto); + proto = NULL; + } + } + return proto; +} + +static void unregister_8022_client(struct datalink_proto *proto) +{ + llc_sap_put(proto-sap); + kfree(proto); +} + +/* + * Place an 802.3 header on a packet. The driver will do the mac + * addresses, we just need to give it the buffer length. + */ +static int p8023_request(struct datalink_proto *dl, +struct sk_buff *skb, unsigned char *dest_node) +{ + struct net_device *dev = skb-dev; + + dev-hard_header(skb, dev, ETH_P_802_3, dest_node, NULL, skb-len); + return dev_queue_xmit(skb); +} + +/* + * Create an 802.3 client. Note there can be only one 802.3 client + */ +static struct datalink_proto *make_8023_client(void) +{ + struct datalink_proto *proto = kmalloc(sizeof(*proto), GFP_ATOMIC); + + if (proto) { + proto-header_length = 0; + proto-request = p8023_request; + } + return proto; +} + +/* + * Destroy the 802.3 client. + */ +static void destroy_8023_client(struct datalink_proto *dl) +{ + kfree(dl); +} + +static int pEII_request(struct datalink_proto *dl, + struct sk_buff *skb, unsigned char *dest_node) +{ + struct net_device *dev = skb-dev; + + skb-protocol = htons(ETH_P_IPX); + if (dev-hard_header) + dev-hard_header(skb, dev, ETH_P_IPX, +dest_node, NULL, skb-len); + return dev_queue_xmit(skb); +} + +static struct datalink_proto *make_EII_client(void) +{ + struct datalink_proto *proto = kmalloc(sizeof(*proto),
[2.6 patch] move some code to net/ipx/af_ipx.c
This patch moves some code only used in this file to net/ipx/af_ipx.c . Signed-off-by: Adrian Bunk [EMAIL PROTECTED] --- This patch was already sent on: - 14 Jan 2006 include/net/p8022.h | 13 - net/802/Makefile | 14 ++--- net/802/p8022.c | 66 --- net/802/p8023.c | 61 - net/8021q/vlan.c |1 net/8021q/vlan_dev.c |1 net/ethernet/Makefile |2 net/ethernet/pe2.c| 39 net/ipx/af_ipx.c | 102 -- 9 files changed, 106 insertions(+), 193 deletions(-) --- linux-2.6.15-rc1-mm1-full/net/ethernet/Makefile.old 2005-11-18 02:15:17.0 +0100 +++ linux-2.6.15-rc1-mm1-full/net/ethernet/Makefile 2005-11-18 02:15:22.0 +0100 @@ -4,5 +4,3 @@ obj-y += eth.o obj-$(CONFIG_SYSCTL) += sysctl_net_ether.o -obj-$(subst m,y,$(CONFIG_IPX)) += pe2.o -obj-$(subst m,y,$(CONFIG_ATALK)) += pe2.o --- linux-2.6.15-rc1-mm1-full/net/8021q/vlan.c.old 2005-11-18 02:19:40.0 +0100 +++ linux-2.6.15-rc1-mm1-full/net/8021q/vlan.c 2005-11-18 02:19:46.0 +0100 @@ -26,7 +26,6 @@ #include linux/mm.h #include linux/in.h #include linux/init.h -#include net/p8022.h #include net/arp.h #include linux/rtnetlink.h #include linux/notifier.h --- linux-2.6.15-rc1-mm1-full/net/8021q/vlan_dev.c.old 2005-11-18 02:19:55.0 +0100 +++ linux-2.6.15-rc1-mm1-full/net/8021q/vlan_dev.c 2005-11-18 02:19:58.0 +0100 @@ -29,7 +29,6 @@ #include linux/netdevice.h #include linux/etherdevice.h #include net/datalink.h -#include net/p8022.h #include net/arp.h #include vlan.h --- linux-2.6.15-rc1-mm1-full/net/ipx/af_ipx.c.old 2005-11-18 02:17:00.0 +0100 +++ linux-2.6.15-rc1-mm1-full/net/ipx/af_ipx.c 2005-11-18 02:26:01.0 +0100 @@ -48,10 +48,10 @@ #include linux/termios.h #include net/ipx.h -#include net/p8022.h #include net/psnap.h #include net/sock.h #include net/tcp_states.h +#include net/llc.h #include asm/uaccess.h @@ -1939,8 +1939,104 @@ .notifier_call = ipxitf_device_event, }; -extern struct datalink_proto *make_EII_client(void); -extern void destroy_EII_client(struct datalink_proto *); +static int p8022_request(struct datalink_proto *dl, struct sk_buff *skb, +unsigned char *dest) +{ + llc_build_and_send_ui_pkt(dl-sap, skb, dest, dl-sap-laddr.lsap); + return 0; +} + +static struct datalink_proto *register_8022_client(unsigned char type, + int (*func)(struct sk_buff *skb, + struct net_device *dev, + struct packet_type *pt, + struct net_device *orig_dev)) +{ + struct datalink_proto *proto; + + proto = kmalloc(sizeof(*proto), GFP_ATOMIC); + if (proto) { + proto-type[0] = type; + proto-header_length= 3; + proto-request = p8022_request; + proto-sap = llc_sap_open(type, func); + if (!proto-sap) { + kfree(proto); + proto = NULL; + } + } + return proto; +} + +static void unregister_8022_client(struct datalink_proto *proto) +{ + llc_sap_put(proto-sap); + kfree(proto); +} + +/* + * Place an 802.3 header on a packet. The driver will do the mac + * addresses, we just need to give it the buffer length. + */ +static int p8023_request(struct datalink_proto *dl, +struct sk_buff *skb, unsigned char *dest_node) +{ + struct net_device *dev = skb-dev; + + dev-hard_header(skb, dev, ETH_P_802_3, dest_node, NULL, skb-len); + return dev_queue_xmit(skb); +} + +/* + * Create an 802.3 client. Note there can be only one 802.3 client + */ +static struct datalink_proto *make_8023_client(void) +{ + struct datalink_proto *proto = kmalloc(sizeof(*proto), GFP_ATOMIC); + + if (proto) { + proto-header_length = 0; + proto-request = p8023_request; + } + return proto; +} + +/* + * Destroy the 802.3 client. + */ +static void destroy_8023_client(struct datalink_proto *dl) +{ + kfree(dl); +} + +static int pEII_request(struct datalink_proto *dl, + struct sk_buff *skb, unsigned char *dest_node) +{ + struct net_device *dev = skb-dev; + + skb-protocol = htons(ETH_P_IPX); + if (dev-hard_header) + dev-hard_header(skb, dev, ETH_P_IPX, +dest_node, NULL, skb-len); + return dev_queue_xmit(skb); +} + +static struct datalink_proto *make_EII_client(void) +{ + struct datalink_proto *proto = kmalloc(sizeof(*proto), GFP_ATOMIC);
[2.6 patch] move some code to net/ipx/af_ipx.c
This patch moves some code only used in this file to net/ipx/af_ipx.c . Signed-off-by: Adrian Bunk [EMAIL PROTECTED] --- This version was slightly adapted to apply against Linus' current tree. include/net/p8022.h | 13 - net/802/Makefile | 14 ++--- net/802/p8022.c | 66 --- net/802/p8023.c | 61 - net/8021q/vlan.c |1 net/8021q/vlan_dev.c |1 net/ethernet/Makefile |2 net/ethernet/pe2.c| 39 net/ipx/af_ipx.c | 102 -- 9 files changed, 106 insertions(+), 193 deletions(-) --- linux-2.6.15-rc1-mm1-full/net/ethernet/Makefile.old 2005-11-18 02:15:17.0 +0100 +++ linux-2.6.15-rc1-mm1-full/net/ethernet/Makefile 2005-11-18 02:15:22.0 +0100 @@ -4,5 +4,3 @@ obj-y += eth.o obj-$(CONFIG_SYSCTL) += sysctl_net_ether.o -obj-$(subst m,y,$(CONFIG_IPX)) += pe2.o -obj-$(subst m,y,$(CONFIG_ATALK)) += pe2.o --- linux-2.6.15-rc1-mm1-full/net/8021q/vlan.c.old 2005-11-18 02:19:40.0 +0100 +++ linux-2.6.15-rc1-mm1-full/net/8021q/vlan.c 2005-11-18 02:19:46.0 +0100 @@ -26,7 +26,6 @@ #include linux/mm.h #include linux/in.h #include linux/init.h -#include net/p8022.h #include net/arp.h #include linux/rtnetlink.h #include linux/notifier.h --- linux-2.6.15-rc1-mm1-full/net/8021q/vlan_dev.c.old 2005-11-18 02:19:55.0 +0100 +++ linux-2.6.15-rc1-mm1-full/net/8021q/vlan_dev.c 2005-11-18 02:19:58.0 +0100 @@ -29,7 +29,6 @@ #include linux/netdevice.h #include linux/etherdevice.h #include net/datalink.h -#include net/p8022.h #include net/arp.h #include vlan.h --- linux-2.6.15-rc1-mm1-full/net/ipx/af_ipx.c.old 2005-11-18 02:17:00.0 +0100 +++ linux-2.6.15-rc1-mm1-full/net/ipx/af_ipx.c 2005-11-18 02:26:01.0 +0100 @@ -48,10 +48,10 @@ #include linux/termios.h #include net/ipx.h -#include net/p8022.h #include net/psnap.h #include net/sock.h #include net/tcp_states.h +#include net/llc.h #include asm/uaccess.h @@ -1939,8 +1939,104 @@ .notifier_call = ipxitf_device_event, }; -extern struct datalink_proto *make_EII_client(void); -extern void destroy_EII_client(struct datalink_proto *); +static int p8022_request(struct datalink_proto *dl, struct sk_buff *skb, +unsigned char *dest) +{ + llc_build_and_send_ui_pkt(dl-sap, skb, dest, dl-sap-laddr.lsap); + return 0; +} + +static struct datalink_proto *register_8022_client(unsigned char type, + int (*func)(struct sk_buff *skb, + struct net_device *dev, + struct packet_type *pt, + struct net_device *orig_dev)) +{ + struct datalink_proto *proto; + + proto = kmalloc(sizeof(*proto), GFP_ATOMIC); + if (proto) { + proto-type[0] = type; + proto-header_length= 3; + proto-request = p8022_request; + proto-sap = llc_sap_open(type, func); + if (!proto-sap) { + kfree(proto); + proto = NULL; + } + } + return proto; +} + +static void unregister_8022_client(struct datalink_proto *proto) +{ + llc_sap_put(proto-sap); + kfree(proto); +} + +/* + * Place an 802.3 header on a packet. The driver will do the mac + * addresses, we just need to give it the buffer length. + */ +static int p8023_request(struct datalink_proto *dl, +struct sk_buff *skb, unsigned char *dest_node) +{ + struct net_device *dev = skb-dev; + + dev-hard_header(skb, dev, ETH_P_802_3, dest_node, NULL, skb-len); + return dev_queue_xmit(skb); +} + +/* + * Create an 802.3 client. Note there can be only one 802.3 client + */ +static struct datalink_proto *make_8023_client(void) +{ + struct datalink_proto *proto = kmalloc(sizeof(*proto), GFP_ATOMIC); + + if (proto) { + proto-header_length = 0; + proto-request = p8023_request; + } + return proto; +} + +/* + * Destroy the 802.3 client. + */ +static void destroy_8023_client(struct datalink_proto *dl) +{ + kfree(dl); +} + +static int pEII_request(struct datalink_proto *dl, + struct sk_buff *skb, unsigned char *dest_node) +{ + struct net_device *dev = skb-dev; + + skb-protocol = htons(ETH_P_IPX); + if (dev-hard_header) + dev-hard_header(skb, dev, ETH_P_IPX, +dest_node, NULL, skb-len); + return dev_queue_xmit(skb); +} + +static struct datalink_proto *make_EII_client(void) +{ + struct datalink_proto *proto =
Re: [2.6 patch] move some code to net/ipx/af_ipx.c
On Fri, Nov 18, 2005 at 06:24:10PM -0200, Arnaldo Carvalho de Melo wrote: On 11/18/05, Adrian Bunk [EMAIL PROTECTED] wrote: On Mon, Nov 14, 2005 at 02:57:07AM +0100, Adrian Bunk wrote: On Fri, Nov 11, 2005 at 02:35:51AM -0600, Matt Mackall wrote: trivial: drop unused 802.3 code if we compile without IPX (originally from http://wohnheim.fh-wedel.de/~joern/software/kernel/je/25/) Thanks Adrian, from a quick glance looks OK, I'll review it later today to see if everything is fine wrt appletalk, tr, etc. Any result from your review? - Arnaldo cu Adrian -- Is there not promise of rain? Ling Tan asked suddenly out of the darkness. There had been need of rain for many days. Only a promise, Lao Er said. Pearl S. Buck - Dragon Seed - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [2.6 patch] move some code to net/ipx/af_ipx.c
On Fri, Nov 18, 2005 at 06:22:52AM +0100, Adrian Bunk wrote: This patch isn't bad, but looking closer we could move the contents of p8023.c as well as the contents of at least p8022.c and pe2.c into af_ipx.c. Is the contents of any of these three files expected to be used outside IPX (closest candidate would be appletalk)? Below is a patch implementing what I was thinking of. Looks reasonable. -- Mathematics is the supreme nostalgia of our time. - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [2.6 patch] move some code to net/ipx/af_ipx.c
On 11/18/05, Adrian Bunk [EMAIL PROTECTED] wrote: On Mon, Nov 14, 2005 at 02:57:07AM +0100, Adrian Bunk wrote: On Fri, Nov 11, 2005 at 02:35:51AM -0600, Matt Mackall wrote: trivial: drop unused 802.3 code if we compile without IPX (originally from http://wohnheim.fh-wedel.de/~joern/software/kernel/je/25/) Thanks Adrian, from a quick glance looks OK, I'll review it later today to see if everything is fine wrt appletalk, tr, etc. - Arnaldo - To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[2.6 patch] move some code to net/ipx/af_ipx.c
On Mon, Nov 14, 2005 at 02:57:07AM +0100, Adrian Bunk wrote: On Fri, Nov 11, 2005 at 02:35:51AM -0600, Matt Mackall wrote: trivial: drop unused 802.3 code if we compile without IPX (originally from http://wohnheim.fh-wedel.de/~joern/software/kernel/je/25/) Signed-off-by: Matt Mackall [EMAIL PROTECTED] Index: tiny/net/802/Makefile === --- tiny.orig/net/802/Makefile 2005-03-15 00:24:59.0 -0600 +++ tiny/net/802/Makefile 2005-03-15 00:25:48.0 -0600 @@ -2,8 +2,6 @@ # Makefile for the Linux 802.x protocol layers. # -obj-y := p8023.o - # Check the p8022 selections against net/core/Makefile. obj-$(CONFIG_SYSCTL) += sysctl_net_802.o obj-$(CONFIG_LLC) += p8022.o psnap.o @@ -11,5 +9,5 @@ obj-$(CONFIG_TR) += p8022.o psnap.o tr.o obj-$(CONFIG_NET_FC) += fc.o obj-$(CONFIG_FDDI) += fddi.o obj-$(CONFIG_HIPPI)+= hippi.o -obj-$(CONFIG_IPX) += p8022.o psnap.o +obj-$(CONFIG_IPX) += p8022.o psnap.o p8023.o obj-$(CONFIG_ATALK)+= p8022.o psnap.o This patch isn't bad, but looking closer we could move the contents of p8023.c as well as the contents of at least p8022.c and pe2.c into af_ipx.c. Is the contents of any of these three files expected to be used outside IPX (closest candidate would be appletalk)? Below is a patch implementing what I was thinking of. cu Adrian -- snip -- This patch moves some code only used in this file to net/ipx/af_ipx.c . Signed-off-by: Adrian Bunk [EMAIL PROTECTED] --- include/net/p8022.h | 13 - net/802/Makefile | 17 ++- net/802/p8022.c | 66 --- net/802/p8023.c | 61 - net/8021q/vlan.c |1 net/8021q/vlan_dev.c |1 net/ethernet/Makefile |2 net/ethernet/pe2.c| 39 net/ipx/af_ipx.c | 102 -- 9 files changed, 106 insertions(+), 196 deletions(-) --- linux-2.6.15-rc1-mm1-full/net/802/Makefile.old 2005-11-18 02:14:35.0 +0100 +++ linux-2.6.15-rc1-mm1-full/net/802/Makefile 2005-11-18 02:15:06.0 +0100 @@ -2,14 +2,11 @@ # Makefile for the Linux 802.x protocol layers. # -obj-y := p8023.o - -# Check the p8022 selections against net/core/Makefile. obj-$(CONFIG_SYSCTL) += sysctl_net_802.o -obj-$(CONFIG_LLC) += p8022.o psnap.o -obj-$(CONFIG_TR) += p8022.o psnap.o tr.o sysctl_net_802.o -obj-$(CONFIG_NET_FC) += fc.o -obj-$(CONFIG_FDDI) += fddi.o -obj-$(CONFIG_HIPPI)+= hippi.o -obj-$(CONFIG_IPX) += p8022.o psnap.o -obj-$(CONFIG_ATALK)+= p8022.o psnap.o +obj-$(CONFIG_LLC) += psnap.o +obj-$(CONFIG_TR) += psnap.o tr.o sysctl_net_802.o +obj-$(CONFIG_NET_FC) += fc.o +obj-$(CONFIG_FDDI) += fddi.o +obj-$(CONFIG_HIPPI)+= hippi.o +obj-$(CONFIG_IPX) += psnap.o +obj-$(CONFIG_ATALK)+= psnap.o --- linux-2.6.15-rc1-mm1-full/net/ethernet/Makefile.old 2005-11-18 02:15:17.0 +0100 +++ linux-2.6.15-rc1-mm1-full/net/ethernet/Makefile 2005-11-18 02:15:22.0 +0100 @@ -4,5 +4,3 @@ obj-y += eth.o obj-$(CONFIG_SYSCTL) += sysctl_net_ether.o -obj-$(subst m,y,$(CONFIG_IPX)) += pe2.o -obj-$(subst m,y,$(CONFIG_ATALK)) += pe2.o --- linux-2.6.15-rc1-mm1-full/net/8021q/vlan.c.old 2005-11-18 02:19:40.0 +0100 +++ linux-2.6.15-rc1-mm1-full/net/8021q/vlan.c 2005-11-18 02:19:46.0 +0100 @@ -26,7 +26,6 @@ #include linux/mm.h #include linux/in.h #include linux/init.h -#include net/p8022.h #include net/arp.h #include linux/rtnetlink.h #include linux/notifier.h --- linux-2.6.15-rc1-mm1-full/net/8021q/vlan_dev.c.old 2005-11-18 02:19:55.0 +0100 +++ linux-2.6.15-rc1-mm1-full/net/8021q/vlan_dev.c 2005-11-18 02:19:58.0 +0100 @@ -29,7 +29,6 @@ #include linux/netdevice.h #include linux/etherdevice.h #include net/datalink.h -#include net/p8022.h #include net/arp.h #include vlan.h --- linux-2.6.15-rc1-mm1-full/net/ipx/af_ipx.c.old 2005-11-18 02:17:00.0 +0100 +++ linux-2.6.15-rc1-mm1-full/net/ipx/af_ipx.c 2005-11-18 02:26:01.0 +0100 @@ -48,10 +48,10 @@ #include linux/termios.h #include net/ipx.h -#include net/p8022.h #include net/psnap.h #include net/sock.h #include net/tcp_states.h +#include net/llc.h #include asm/uaccess.h @@ -1939,8 +1939,104 @@ .notifier_call = ipxitf_device_event, }; -extern struct datalink_proto *make_EII_client(void); -extern void destroy_EII_client(struct datalink_proto *); +static int p8022_request(struct datalink_proto *dl, struct sk_buff *skb, +unsigned char *dest) +{ +