E:/fip/workspaces/fip/source/corenet/fip_nd6.h File Reference

Neighbour Discovery for IPv6 (RFC4861). More...

Go to the source code of this file.

Data Structures

struct  fip_nd6_rs_t
 Router Solicitation Message Type. More...
struct  fip_nd6_ra_t
 Router Advertisement Message Type. More...
struct  fip_nd6_ns_t
 Neighbour Solicitation Message Type. More...
struct  fip_nd6_na_t
 Neighbour Advertisement Message Type. More...
struct  fip_nd6_llao_t
 Source/Target Link-Layer Option. More...
struct  fip_nd6_pio_t
 Prefix Information Option. More...
struct  fip_nd6_rho_t
 Redirected Header Option. More...
struct  fip_nd6_mtuo_t
 MTU Option. More...
struct  fip_nd6_if_t
 Structure holding all the configuration for a specific interface. More...
struct  fip_nd6_aro_t
 Address Registration Option. More...
struct  fip_nd6_6co_t
 6LoWPAN Context Option More...
struct  fip_nd6_abro_t
 Authoritative Border Router Option. More...

Defines

#define FIP_ND6_NA_ROUTERFLAG   (0x80)
 Neighbour Advertisement Header: Is Router Flag.
#define FIP_ND6_NA_SOLICITEDFLAG   (0x40)
 Neighbour Advertisement Header: Is Solicited Flag.
#define FIP_ND6_NA_OVERRIDEFLAG   (0x20)
 Neighbour Advertisement Header: Override Flag.
#define FIP_ND6_RA_MFLAG   (0x80)
 Router Advertisement Header: Managed Address Configuration Flag.
#define FIP_ND6_RA_OFLAG   (0x40)
 Router Advertisement Header: Other Configuration Flag.
#define FIP_ND6_OPTION_SLLAO   (1)
 ND Option Type: SLLAO.
#define FIP_ND6_OPTION_TLLAO   (2)
 ND Option Type: TLLAO.
#define FIP_ND6_OPTION_PIO   (3)
 ND Option Type: PIO.
#define FIP_ND6_OPTION_RHO   (4)
 ND Option Type: RHO.
#define FIP_ND6_OPTION_MTUO   (5)
 ND Option Type: MTUO.
#define FIP_ND6_OPTION_ARO   (31)
 ND Option Type: ARO.
#define FIP_ND6_OPTION_6CO   (32)
 ND Option Type: 6CO.
#define FIP_ND6_OPTION_ABRO   (33)
 ND Option Type: ABRO.
#define FIP_ND6_OPTION_PIO_LFLAG   (0x80)
 ND Prefix Information Option: On-Link Flag.
#define FIP_ND6_OPTION_PIO_AFLAG   (0x40)
 ND Prefix Information Option: Autoconf Flag.
#define FIP_ARO_SUCCESS   (0)
 Address Registration Option Status Field: Success.
#define FIP_ARO_DUPLICATE   (1)
 Address Registration Option Status Field: Duplicate Address.
#define FIP_ARO_NCFULL   (2)
 Address Registration Option Status Field: Neighbor Cache Full.
#define FIP_6CO_CFLAG   (1<<4)
 6LoWPAN Context Option: Valid for Compression Field

Functions

void fip_nd6_generateNS (const fip_ip6addr_t *const targetAddress, unsigned char indexToMyUnicast, const fip_ip6addr_t *const destAddress, const uint8_t *optionData, const unsigned char optionLen, fip_bool_t addLLAO)
 Generate a neighbour solicitation.
void fip_nd6_generateNA (fip_bool_t solicited, unsigned char indexToMyUnicast, const uint8_t *optionData, const unsigned char optionLen, fip_bool_t addLLAO)
 Generate a neighbour advertisement.
void fip_nd6_generateRS (unsigned char indexToMyUnicast)
 Generate a router solicitation which is generated in current active packet buffer, which needs enough room! Size depends on LL address length, but should not be longer than 80 bytes normally.
void fip_nd6_generateRA (unsigned char indexToMyUnicast, fip_bool_t multicast)
 Generate a router advertisement, buffer should already be set up with destination IP address in it.
void fip_nd6_periodicUnicast (fip_ifnum_t ifnum, unsigned char indexToUnicast)
 Performs periodic maintenance of unicast IPv6 addresses assigned to the interface, as required by RFC4861 etc.
void fip_nd6_periodicIf (fip_ifnum_t ifnum)
 Performs periodic maintenance of any ND6 structures on the interface.
void fip_nd6_neighbourCache_add (fip_ifnum_t ifnum, const unsigned char *const ipaddr, fip_llptraddr_t llptraddr, fip_bool_t isRouter)
 Add a neighbour to the neighbour cache, does not check for duplicate entries.


Detailed Description

Neighbour Discovery for IPv6 (RFC4861).

Author:
Colin O'Flynn

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