<< | Thread Index | >> ]    [ << | Date Index | >> ]

Subject: Re: Virtual NIC
From: "Damion K. Wilson" <dwilson,AT,ibl,DOT,bm>
Date: Fri, 4 May 2001 07:52:50 +0200
In-reply-to: <3BC5217C8E6D9E498F4F682CD7FF75461073B1@mail10.main.ntu.edu.sg>

Windows' TCP/IP stack will issue an ARP request packet periodically for 
addresses that (it feels) are for hosts that are in the same subnet as the 
virtual network adapter. These are plain old Ethernet packets and will get 
delivered via the same tap mechanism into a usermode thread. For 
communication to take place using TCP/IP to the host indicated in the ARP 
request, MAC information for that host must be returned to the TCP/IP stack 
by "delivering" a corresponding MAC reply on the same interface. That's right 
! You will have to synthesize ARP replies. The code to do it in CIPE-Win32 is 
pretty simple. though. You should probably not manipulate the ARP table 
directly.

DKW

On Thursday 03 May 2001 17:39, you wrote:
> Hi,
> Thanks for the reply(I have put it at the bottom for your reference).
>
> You have mentioned that ARP request must be handles extrenally. If I create
> entries in the ARP table related to a specific IP address then the Ethernet
> frame genrated when that IP address is used will take the MAC address from
> the ARP table. Am I correct when I say this?
>
> What I intend to do is that at the time of wireless connection
> establishment I will make the two devices exchange theie IP and MAC
> addresses. Then, I will create entries in the ARP table corresponsing to
> these values.
>
> Now, when this virtual NIC is the only NIC on my machine then all IP
> packets will be sent down to it right? Is this assumption correct?What
> happens when the NCI is unable to find the matching IP address and MAC
> address entry in the ARP table?
>
> Thanks and regards,
> Sandeep
>
> Hi, Prakash
>
> Please ignore the reply address, I'm using my friend's email client.
>
> The NIC driver is written independently of the VPN software. The interface
> to it is to a "tap" device which acts like a simple packet-oriented serial
> device. A read request issued to the tap device will be satisfied by the
> next (Ethernet) packet trying to leave the computer. Write requests to the
> tap device are interpreted as Ethernet packet deliveries to the NIC.
>
> ARP requests MUST be handled externally to the driver.
>
> A good understanding of TCP/IP packet formatting is probably desirable
>
> DKW





<< | Thread Index | >> ]    [ << | Date Index | >> ]