Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/net/ethernet/pe2.c
15109 views
1
#include <linux/in.h>
2
#include <linux/mm.h>
3
#include <linux/module.h>
4
#include <linux/netdevice.h>
5
#include <linux/skbuff.h>
6
#include <linux/slab.h>
7
8
#include <net/datalink.h>
9
10
static int pEII_request(struct datalink_proto *dl,
11
struct sk_buff *skb, unsigned char *dest_node)
12
{
13
struct net_device *dev = skb->dev;
14
15
skb->protocol = htons(ETH_P_IPX);
16
dev_hard_header(skb, dev, ETH_P_IPX, dest_node, NULL, skb->len);
17
return dev_queue_xmit(skb);
18
}
19
20
struct datalink_proto *make_EII_client(void)
21
{
22
struct datalink_proto *proto = kmalloc(sizeof(*proto), GFP_ATOMIC);
23
24
if (proto) {
25
proto->header_length = 0;
26
proto->request = pEII_request;
27
}
28
29
return proto;
30
}
31
EXPORT_SYMBOL(make_EII_client);
32
33
void destroy_EII_client(struct datalink_proto *dl)
34
{
35
kfree(dl);
36
}
37
EXPORT_SYMBOL(destroy_EII_client);
38
39