Route Control Object
A-46
A.12 Route Control Object
A.12.1 Synopsis
The route control object isn’t so much of an object as it is a function. Its purpose
is to serve as a collection point for route related information in the system. A
routing daemon may wish to make use of this information, or it could simply
be logged as debugging information.
When so configured, route control messages are transformed into debug mes-
sages by the stack and logged via DbgPrintf(). By default, the route control de-
bug messages are be disabled. Also, the message function can be hooked by
an application.
Note, control messages can also be suppressed individually by not supplying
the FLG_RTF_REPORT flag to the Route object API function when the call is
made (as mentioned in the previous section).
A.12.2 Route Control Messages
The basic form of the route control message is an unsigned int message value,
with two unsigned 32 bit values for additional data. In most cases these are
immediate data. In one instance, the value is actually a 32 bit memory pointer.
Messages are passed internally to the stack via the function:
void RTCReport( uint Msg, UINT32 Param1, UINT32 Param2 );
Applications should not call this function directly.
The possible values for Msg are as follows:
Route is Valid/Pending
MSG_RTC_UP
Parameter(s)
Param1 = Route IP
Param2 = Route IP Mask (all ones for host route)
Description
Called after a “down” message indicating that a route that had previously been
in the down state is now up again. This does not mean that the route has been
validated, but only that it will attempt to validate itself if used.
Route is Down
MSG_RTC_DOWN
Parameter(s)
Param1 = Route IP
Param2 = Route IP Mask (all ones for host route)
Description
Called when a route goes “down” due to an error. Packets sent via a route in
this state will generate an error. The most common reason for a route to go
down is for a non-response to 5 successive ARP requests. In this case, the
route will come back up after the down time has expired.