IP Gleaning
[TCP/IP User Protocols]

Detailed Description

As a lean alternative to DCHP, the Modtronix TCP/IP Stack also implements a simple method, known as IP Gleaning, to remotely set the IP address of Modtronix Stack node. This method is not an Internet Protocol standard, and there is no corresponding RFC document. IP Gleaning allows only the IP address to be set. For complete IP configuration, DCHP must be used.

IP Gleaning does not require any additional software modules. Instead, it uses the ARP and ICMP modules. To use it, the file "icmp.c" must be included in the project, and the compiler define STACK_USE_IP_GLEANING must be uncommented in the StackTsh.h header file.

With IP Gleaning enabled, the Microchip Stack enters into a special "IP Configuration" mode on RESET. During this mode, it accepts any ICMP (ping) message that is destined to this node, and sets the node’s IP address to that of the ping message’s destination. Once a valid ping packet is received, the stack exits from "Configuration" and enters into normal mode.

During configuration, the user application must not attempt to communicate; it may call the function StackIsInConfigMode() to determine whether or not the stack is in Configuration mode. StackIsInConfigMode() == TRUE indicates that Stack is in Configuration mode.

To remotely set the IP address of stack node, it is necessary to issue a sequence of commands from a remote machine. For this example, assume that a node running the Microchip Stack needs to be assigned an IP address of The MAC address of this node (hexadecimal) is 0a-0a-0a-0a-0a-0a. After resetting the node, another system on the network (we will assume a computer running Microsoft Windows) issues the commands:

> arp -s 0a-0a-0a-0a-0a-0a

> ping

This should generate a standard series of ping responses from, indicating the node has been successfully assigned the IP address.


file  arp.h
 ARP Module for Modtronix TCP/IP Stack.
file  icmp.h
 ICMP Module for Modtronix TCP/IP Stack.

Generated on Mon Oct 9 13:22:09 2006 for SBC65EC Web Server by  doxygen 1.4.7