diff options
author | Arnd Bergmann <arnd@arndb.de> | 2010-01-30 07:24:26 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-02-03 23:20:33 -0500 |
commit | 20d29d7a916a47bf533b5709437fe735b6b5b79e (patch) | |
tree | 8dbe4178b90915a18e83f97a3e71cdcd39892da1 /include/linux | |
parent | fc0663d6b5e6d8e9b57f872a644c0aafd82361b7 (diff) |
net: macvtap driver
In order to use macvlan with qemu and other tools that require
a tap file descriptor, the macvtap driver adds a small backend
with a character device with the same interface as the tun
driver, with a minimum set of features.
Macvtap interfaces are created in the same way as macvlan
interfaces using ip link, but the netif is just used as a
handle for configuration and accounting, while the data
goes through the chardev. Each macvtap interface has its
own character device, simplifying permission management
significantly over the generic tun/tap driver.
Cc: Patrick McHardy <kaber@trash.net>
Cc: Stephen Hemminger <shemminger@linux-foundation.org>
Cc: David S. Miller" <davem@davemloft.net>
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Cc: Or Gerlitz <ogerlitz@voltaire.com>
Cc: netdev@vger.kernel.org
Cc: bridge@lists.linux-foundation.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/if_macvlan.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/if_macvlan.h b/include/linux/if_macvlan.h index 9a11544bb0b1..51f1512045e9 100644 --- a/include/linux/if_macvlan.h +++ b/include/linux/if_macvlan.h | |||
@@ -34,6 +34,7 @@ struct macvlan_dev { | |||
34 | enum macvlan_mode mode; | 34 | enum macvlan_mode mode; |
35 | int (*receive)(struct sk_buff *skb); | 35 | int (*receive)(struct sk_buff *skb); |
36 | int (*forward)(struct net_device *dev, struct sk_buff *skb); | 36 | int (*forward)(struct net_device *dev, struct sk_buff *skb); |
37 | struct macvtap_queue *tap; | ||
37 | }; | 38 | }; |
38 | 39 | ||
39 | static inline void macvlan_count_rx(const struct macvlan_dev *vlan, | 40 | static inline void macvlan_count_rx(const struct macvlan_dev *vlan, |