[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] make qemu use tap0 instead of tun0
From: |
Jim C. Brown |
Subject: |
Re: [Qemu-devel] make qemu use tap0 instead of tun0 |
Date: |
Wed, 6 Jul 2005 22:06:54 -0400 |
User-agent: |
Mutt/1.4i |
On Thu, Jul 07, 2005 at 03:55:30AM +0200, Herbert Poetzl wrote:
> 1.1 What is the TUN ?
> The TUN is Virtual Point-to-Point network device.
> TUN driver was designed as low level kernel support for
> IP tunneling. It provides to userland application
> two interfaces:
> - /dev/tunX - character device;
> - tunX - virtual Point-to-Point interface.
>
> Userland application can write IP frame to /dev/tunX
> and kernel will receive this frame from tunX interface.
> In the same time every frame that kernel writes to tunX
> interface can be read by userland application from /dev/tunX
> device.
>
> 1.2 What is the TAP ?
> The TAP is a Virtual Ethernet network device.
> TAP driver was designed as low level kernel support for
> Ethernet tunneling. It provides to userland application
> two interfaces:
> - /dev/tapX - character device;
> - tapX - virtual Ethernet interface.
>
> Userland application can write Ethernet frame to /dev/tapX
> and kernel will receive this frame from tapX interface.
> In the same time every frame that kernel writes to tapX
> interface can be read by userland application from /dev/tapX
> device.
>
> (from http://vtun.sourceforge.net/tun/faq.html)
>
> best,
> Herbert
>
I know this. Actually that page seems out of date, as Linux's tuntap now sends
all accesses to /dev/net/tun regardless of the type of device (tun or tap).
qemu have never used tun devices, it only uses tap devices. In other words,
qemu has never read/write IP frames, it only deals with ethernet frames. This is
why having qemu use tun0 as the device name is misleading - it makes developers
believe that qemu is using a tun device (IP frames) even though it is really
using a tap device (ethernet frames).
The current NE2000 emulation (or any hardware nic emulation for that matter)
would not work if qemu used an actual tun device.