aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um/os-Linux/drivers/tuntap_kern.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/um/os-Linux/drivers/tuntap_kern.c')
-rw-r--r--arch/um/os-Linux/drivers/tuntap_kern.c34
1 files changed, 16 insertions, 18 deletions
diff --git a/arch/um/os-Linux/drivers/tuntap_kern.c b/arch/um/os-Linux/drivers/tuntap_kern.c
index f1714e7fb1d0..9ade1f892ac8 100644
--- a/arch/um/os-Linux/drivers/tuntap_kern.c
+++ b/arch/um/os-Linux/drivers/tuntap_kern.c
@@ -1,16 +1,13 @@
1/* 1/*
2 * Copyright (C) 2001 Jeff Dike (jdike@karaya.com) 2 * Copyright (C) 2001 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
3 * Licensed under the GPL 3 * Licensed under the GPL
4 */ 4 */
5 5
6#include "linux/stddef.h" 6#include <linux/netdevice.h>
7#include "linux/netdevice.h" 7#include <linux/init.h>
8#include "linux/etherdevice.h" 8#include <linux/skbuff.h>
9#include "linux/skbuff.h" 9#include <asm/errno.h>
10#include "linux/init.h"
11#include "asm/errno.h"
12#include "net_kern.h" 10#include "net_kern.h"
13#include "net_user.h"
14#include "tuntap.h" 11#include "tuntap.h"
15 12
16struct tuntap_init { 13struct tuntap_init {
@@ -38,19 +35,20 @@ static void tuntap_init(struct net_device *dev, void *data)
38 printk("\n"); 35 printk("\n");
39} 36}
40 37
41static int tuntap_read(int fd, struct sk_buff **skb, 38static int tuntap_read(int fd, struct sk_buff **skb,
42 struct uml_net_private *lp) 39 struct uml_net_private *lp)
43{ 40{
44 *skb = ether_adjust_skb(*skb, ETH_HEADER_OTHER); 41 *skb = ether_adjust_skb(*skb, ETH_HEADER_OTHER);
45 if(*skb == NULL) return(-ENOMEM); 42 if (*skb == NULL)
46 return(net_read(fd, skb_mac_header(*skb), 43 return -ENOMEM;
47 (*skb)->dev->mtu + ETH_HEADER_OTHER)); 44 return net_read(fd, skb_mac_header(*skb),
45 (*skb)->dev->mtu + ETH_HEADER_OTHER);
48} 46}
49 47
50static int tuntap_write(int fd, struct sk_buff **skb, 48static int tuntap_write(int fd, struct sk_buff **skb,
51 struct uml_net_private *lp) 49 struct uml_net_private *lp)
52{ 50{
53 return(net_write(fd, (*skb)->data, (*skb)->len)); 51 return net_write(fd, (*skb)->data, (*skb)->len);
54} 52}
55 53
56const struct net_kern_info tuntap_kern_info = { 54const struct net_kern_info tuntap_kern_info = {
@@ -67,11 +65,11 @@ int tuntap_setup(char *str, char **mac_out, void *data)
67 *init = ((struct tuntap_init) 65 *init = ((struct tuntap_init)
68 { .dev_name = NULL, 66 { .dev_name = NULL,
69 .gate_addr = NULL }); 67 .gate_addr = NULL });
70 if(tap_setup_common(str, "tuntap", &init->dev_name, mac_out, 68 if (tap_setup_common(str, "tuntap", &init->dev_name, mac_out,
71 &init->gate_addr)) 69 &init->gate_addr))
72 return(0); 70 return 0;
73 71
74 return(1); 72 return 1;
75} 73}
76 74
77static struct transport tuntap_transport = { 75static struct transport tuntap_transport = {