summaryrefslogtreecommitdiff
path: root/net/ipx/pe2.c
diff options
context:
space:
mode:
authorstephen hemminger <shemminger@vyatta.com>2012-07-18 09:09:48 +0000
committerDavid S. Miller <davem@davemloft.net>2012-07-19 10:48:00 -0700
commit83bd1b793e1e6b68be4f7b18752de9620137dfa2 (patch)
treeed10c333697b1e7f620d17f90d0cadeac48c2869 /net/ipx/pe2.c
parentd8f1641b5829629d3af8e52750ba3b542f8f56c8 (diff)
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 <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipx/pe2.c')
-rw-r--r--net/ipx/pe2.c35
1 files changed, 35 insertions, 0 deletions
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 <linux/in.h>
+#include <linux/mm.h>
+#include <linux/module.h>
+#include <linux/netdevice.h>
+#include <linux/skbuff.h>
+#include <linux/slab.h>
+
+#include <net/datalink.h>
+
+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);
+}