E:/fip/workspaces/fip/source/fip.c File Reference

The core fip task. More...


Functions

void fip_init (void)
 Performs any initilization of fip that is required.
void fip_task (void)
 FIP Task function.
fip_bool_t fip_isSrcUnspecified (void)
 Check if the IPv6 Source Address is the unspecified address.
fip_bool_t fip_isDestUnspecified (void)
 Check if the IPv6 Dest Address is the unspecified address.


Detailed Description

The core fip task.

Author:
Colin O'Flynn

Function Documentation

fip_bool_t fip_isDestUnspecified ( void   ) 

Check if the IPv6 Dest Address is the unspecified address.

Sets the associated flags as well in the packet buffer.

Returns:

References fip_packet_getAddrFlags, fip_packet_getFromIP6Hdr_destAddr, and fip_packet_setAddrFlags.

Referenced by fip_ip_send().

fip_bool_t fip_isSrcUnspecified ( void   ) 

Check if the IPv6 Source Address is the unspecified address.

Sets the associated flags as well in the packet buffer.

Returns:

References fip_packet_getAddrFlags, fip_packet_getFromIP6Hdr_srcAddr, and fip_packet_setAddrFlags.

Referenced by fip_nd6_generateNS(), fip_nd6_generateRS(), fip_nd6_processNS(), fip_nd6_processRS(), and fip_sixlowpanhc_compress().

void fip_task ( void   ) 

FIP Task function.

Should be called often by your main loop or RTOS. The entire FIP architecture is designed around the idea that the "state" of objects is modified somewhere. This requires processing to occur in response to that state. This processing is called out in this loop. This architecture allows a lot of flexibility; for example when a new address is configured in IPv6, the duplicate address detection (DAD) process is started here and not in the simple function which set up that new address. Thus if you don't want to run duplicate address detection for example as your network doesn't have multicast/broadcast, you can tune it here to skip DAD.

Todo:
: IPv4.2: Add IPv4 Handling into main task

References fip_hostInterface_getSeconds16(), fip_icmp6_generateError(), FIP_ICMPV6_CODE_ERRORFRAG, fip_if6_periodic(), fip_ip_process(), fip_ip_send(), fip_nd6_neighbourCache_getState, fip_nd6_neighbourCache_lookupByIp(), fip_packet_activeDrop(), fip_packet_activeQueuePacket(), fip_packet_activeUnqueuePacket(), fip_packet_getAttr, fip_packet_getFromIP6Hdr_isDestMulticast, fip_packet_setAttr, fip_packet_spGetPtr, fip_ds6_searchStatus_t::index, fip_ds6_searchStatus_t::itemFound, PS_IPFRAG, PS_LLSENDING, PS_PROCESSIP, PS_RECEIVINGLL, PS_SEND, PS_STARTLLSEND, PS_WAITING_AR, RV_OK, and TRACE.

Here is the call graph for this function:


Generated on Wed Dec 8 13:00:19 2010 for FIP by  doxygen 1.5.7.1