ND Data Structure Access
[ICMPv6 Handling]

Collaboration diagram for ND Data Structure Access:


Data Structures

struct  fip_nd6_neighbourCache_t
 Entry of a neighbour cache. More...
struct  fip_nd6_option_t
 Generic option type structure for processing. More...
struct  fip_nd6_optionStruct_t
 Holds all the options processed. More...

Files

file  fip_nd6_ds6.c
 Private data structures accessed by fip_nd6.c file.
file  fip_nd6_ds6.h
 Header for private data structures accessed by fip_nd6.c file.

Defines

#define fip_nd6_neighbourCache_getState(ifnum, index)   fip_neighbourCache[ifnum][index].state
 Set the state of a neighbour cache entry.
#define MAX_ICMPV6_OPTIONS   10
 Maximum options that can be attached to one ND ICMPv6 Message.

Typedefs

typedef fip_ds6_index_t fip_nd6_index_t
 Inherit size from generic data structures.
typedef fip_ds6_searchStatus_t fip_nd6_searchStatus_t
 Inherit size from generic data structures.

Enumerations

enum  fip_nd6_nbrstate_t
 State a neighbour can be in.

Functions

fip_nd6_index_t fip_nd6_neighbourCache_makeRoom (fip_ifnum_t ifnum)
 Make room in the neighbour cache for a new entry.
fip_nd6_searchStatus_t fip_nd6_neighbourCache_lookupByIp (fip_ifnum_t ifnum, const fip_ip6addr_t *const address)
 Lookup an address in the neighbour table by IP address.
void fip_nd6_neighbourCache_updateLL (fip_ifnum_t ifnum, fip_nd6_index_t index, fip_llptraddr_t lladdr)
 Update the Link-Layer address of a neighbour cache entry.

Define Documentation

#define MAX_ICMPV6_OPTIONS   10

Maximum options that can be attached to one ND ICMPv6 Message.

Referenced by fip_nd6_process().


Function Documentation

fip_nd6_searchStatus_t fip_nd6_neighbourCache_lookupByIp ( fip_ifnum_t  ifnum,
const fip_ip6addr_t *const   address 
)

Lookup an address in the neighbour table by IP address.

Parameters:
address Pointer to IP Address
Returns:
fip_nd6_searchStatus_t type indicating status of search

References fip_ip6addr_t::addr, and fip_ds6_searchList().

Referenced by fip_ip_send(), fip_nd6_processLLAO(), fip_nd6_processNA(), fip_nd6_processNS(), fip_nd6_processRA(), fip_route6_getNextHop(), and fip_task().

Here is the call graph for this function:

fip_nd6_index_t fip_nd6_neighbourCache_makeRoom ( fip_ifnum_t  ifnum  ) 

Make room in the neighbour cache for a new entry.

If there is no room it just clobbers some poor existing entry.

Parameters:
ifnum Interface number to make room on
Returns:
The index of the available space

Referenced by fip_nd6_neighbourCache_add().

void fip_nd6_neighbourCache_updateLL ( fip_ifnum_t  ifnum,
fip_nd6_index_t  index,
fip_llptraddr_t  lladdr 
)

Update the Link-Layer address of a neighbour cache entry.

If the lladdr is different from the one currently stored, the state is set to STALE.

Parameters:
ifnum Interface number to update on
index The entry to update.
lladdr The updated Link-Layer address.

Referenced by fip_nd6_processLLAO(), fip_nd6_processNA(), and fip_nd6_processNS().


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