From 83bd1b793e1e6b68be4f7b18752de9620137dfa2 Mon Sep 17 00:00:00 2001 From: stephen hemminger Date: Wed, 18 Jul 2012 09:09:48 +0000 Subject: ipx: move peII functions The Ethernet II wrapper is only used by IPX protocol, may have once been used by Appletalk but not currently. Therefore it makes sense to move it to the IPX dust bin and drop the exports. Build tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller --- net/ipx/Makefile | 2 +- net/ipx/pe2.c | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 net/ipx/pe2.c (limited to 'net/ipx') diff --git a/net/ipx/Makefile b/net/ipx/Makefile index 4b95e3ea0f8b..440fafa9fd07 100644 --- a/net/ipx/Makefile +++ b/net/ipx/Makefile @@ -4,5 +4,5 @@ obj-$(CONFIG_IPX) += ipx.o -ipx-y := af_ipx.o ipx_route.o ipx_proc.o +ipx-y := af_ipx.o ipx_route.o ipx_proc.o pe2.o ipx-$(CONFIG_SYSCTL) += sysctl_net_ipx.o diff --git a/net/ipx/pe2.c b/net/ipx/pe2.c new file mode 100644 index 000000000000..32dcd601ab32 --- /dev/null +++ b/net/ipx/pe2.c @@ -0,0 +1,35 @@ +#include +#include +#include +#include +#include +#include + +#include + +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); + dev_hard_header(skb, dev, ETH_P_IPX, dest_node, NULL, skb->len); + return dev_queue_xmit(skb); +} + +struct datalink_proto *make_EII_client(void) +{ + struct datalink_proto *proto = kmalloc(sizeof(*proto), GFP_ATOMIC); + + if (proto) { + proto->header_length = 0; + proto->request = pEII_request; + } + + return proto; +} + +void destroy_EII_client(struct datalink_proto *dl) +{ + kfree(dl); +} -- cgit v1.2.3