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 MAX_ICMPV6_OPTIONS 10 |
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.
address | Pointer to IP Address |
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().
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.
ifnum | Interface number to make room on |
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.
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().