Subject: Re: (mobile-ip) ARP in NT

From: John Williams <[email-masked]>
Date: Mon, 10 Nov 1997 15:41:21 +0200

The tests I made lead me to the following conclusion:

1. NT 4 does not support gratuitous ARP, and this fact maily impacts on
the communication between the MN and home network on-link Correspondent
Nodes (CNs). However,

2a. The IP Forwarding option (which can be set from Control Panel /
Network / Protocols / TCP/IP / Routing / Enabling IP Forwarding )
provides an acceptable solution for a part of the gratuitous ARP related
problem: the HA will forward the on-link CN originated datagrams to the
MN, after the MN has returned home, for all the on-link CNs the ARP
caches of which still contain the binding < MN IP Address - HA Eth.
Address > (as a result to a proxy ARP).

2b. For the situation in which the MN leaves its home network, the
problem can be solved by setting the HA interface to the promiscuous
mode in order to allow it snoop for the MN-away addressed datagrams.

Any comments would be greately appreciated.

John.

-----------------------------------------------------------------------------
IETF Mobile IP Working Group Mailing List - Archives:  software.watson.ibm.com
Unsubscribe:	unsubscribe mobile-ip		(as message body, not subject)
Direct all administrative requests to [email-masked]

---

From: John Williams <[email-masked]>
Date: Mon, 10 Nov 1997 18:37:29 +0200

Any comments would be appreciated.

John.

---

From: [email-masked] (Yoshiyuki Tsuda)
Date: Tue, 11 Nov 1997 15:56:57 +0900 (JST)

Hi, John,

 We have some experiences of implementing the Mobile IP protocol on
 Windows NT/95.  Although I think protocol design shouldn't be affected
 by specific operating systems, here are some solutions to solve current
 Windows's ARP problems adequately:

 1. Replace the original Microsoft TCP/IP driver with a TCP/IP driver,
    which can support the Mobile IP protocol.

 2. Insert a driver between the TCP/IP driver and an NIC driver, which
    can take care of the Mobile IP protocol.
    For the ARP problems, that driver makes ARP processings on behalf of
    the TCP/IP protocol, so it can send gratuitous ARPs and can flush its
    own cache at the right time.  If it receives an ARP request from the
    TCP/IP driver, it may send a dummy ARP reply to the TCP/IP driver,
    to receive following IP packets from the TCP/IP driver.

 3. Use some Win32 functions(, but I don't know which functions to use...)
    The arp.exe command can control the ARP cache of the TCP/IP driver,
    so there must be some Win32 functions which can control some ARP
    operations.  But, I haven't found any descriptions about them...

 I hope my comments would help your developments. :-)

Regards.
"Yoshi"yuki Tsuda( [email-masked] )
R&D Center, Toshiba Corporation

-----------------------------------------------------------------------
Date: Mon, 10 Nov 1997 18:37:29 +0200
From: John Williams <[email-masked]>
Subject: Re: (mobile-ip) ARP in NT
Reply-To: John Williams <[email-masked]>

John.

---

From: Jim Thompson <[email-masked]>
Date: Tue, 11 Nov 1997 03:26:10 -0600

>     which can support the Mobile IP protocol.

Non-trivial development/support effort.  
>     to receive following IP packets from the TCP/IP driver.

The plumbing here, while possible, is much harder than you might hope.

-- 
Jim Thompson / Smallworks, Inc. / [email-masked]  
      512 338 0619 phone / 512 338 0625 fax
"Faster, faster, until the thrill of speed overcomes the fear of death."
	 --Hunter S. Thompson

---

From: "kwok c. lee" <[email-masked]>
Date: Tue, 11 Nov 1997 11:36:47 -0500

>     which can support the Mobile IP protocol.

It might be possible for win95.However,. it involved so much than just replacing
the tcpip.sys driver for NT.

>     to receive following IP packets from the TCP/IP driver.

yes. I have the prototype working.So far, it seems to me that intermediate driver
is the only solution.

>     operations.  But, I haven't found any descriptions about them...

As far as I know (in NT), arp.exe uses  private APIs directly to the tcpip.sys to
manipulate the information in the arp table. Unless Micosoft makes those APIs
public, I won't count on them.

> R&D Center, Toshiba Corporation

Thanks
kclee

---

From: John Williams <[email-masked]>
Date: Wed, 12 Nov 1997 12:04:06 +0200

Hi everybody,

Thank you for your messages ! It was great to hear about people
experiencing similar problems !

I am working at a Windows NT 4 Mobile IP implementation which provides
at this moment the basic Mobile IP functionality.

1. I used a NDIS intermediate driver which I inserted into the TCP/IP
protocol stack right between the NIC driver and the Tcpip.sys driver.
This driver embeds the whole Mobile IP functionality, and fakes and
originates all the packets necessary to keep Tcpip.sys unaware about
what actually happens. Moreover, the driver version for agents running
on NT routers also takes advantage of the Tcpip.sys routing and
fragmentation mechanisms.

2. The drivers are also provided with user-level monitoring applications
which allow an user to be notified about the occurence of certain events
and to get and set driver parameters (such as Mobility Binding List,
Visitor List, different lifetimes and timeouts) - something like a - say
- local SNMP.

John.

P.S. Anyway, the gratuitous ARP remains a quite delicate problem for NT
(unlike Linux), and, by the way, the ARP Requests the target of which is
a roaming MN, sent by the HA itself (and, consequently, requiring proxy
ARP Replies), have quite "nice" side effects if no precautions are taken
(have you enjoyed this one :-)).