IPv6 neighbor discovery

Provides IPv6 neighbor discovery message types. More...

Detailed Description

Files

file  ndp.h
 IPv6 neighbor discovery message type definitions.
 

Data Structures

struct  ndp_rtr_sol_t
 Router solicitation message format. More...
 
struct  ndp_rtr_adv_t
 Router advertisement message format. More...
 
struct  ndp_nbr_sol_t
 Neighbor solicitation message format. More...
 
struct  ndp_nbr_adv_t
 Neighbor advertisement message format. More...
 
struct  ndp_redirect_t
 Redirect message format. More...
 
struct  ndp_opt_t
 General NDP option format. More...
 
struct  ndp_opt_pi_t
 Prefix information option format. More...
 
struct  ndp_opt_rh_t
 Redirected header option format. More...
 
struct  ndp_opt_mtu_t
 MTU option format. More...
 

Router advertisement flags

See also
RFC 4861, section 4.2
#define NDP_RTR_ADV_FLAGS_MASK   (0xc0)
 
#define NDP_RTR_ADV_FLAGS_M   (0x80)
 managed address configuration
 
#define NDP_RTR_ADV_FLAGS_O   (0x40)
 other configuration
 
#define NDP_RTR_ADV_CUR_HL_UNSPEC   (0)
 Router advertisement constants. More...
 
#define NDP_RTR_ADV_LTIME_SEC_MAX   (9000)
 maximum router lifetime in seconds More...
 
#define NDP_NBR_ADV_LTIME_NOT_DR   (0)
 router should not be a default router More...
 
#define NDP_NBR_ADV_REACH_TIME   (0)
 reachable time unspecified by advertising router
 
#define NDP_NBR_ADV_RETRANS_TIMER   (0)
 retrans. More...
 

Neighbor advertisement flags

See also
RFC 4861, section 4.4
#define NDP_NBR_ADV_FLAGS_MASK   (0xe0)
 
#define NDP_NBR_ADV_FLAGS_R   (0x80)
 router
 
#define NDP_NBR_ADV_FLAGS_S   (0x40)
 solicited
 
#define NDP_NBR_ADV_FLAGS_O   (0x20)
 override
 

NDP option types

See also
IANA, IPv6 Neighbor Discovery Option Formats
#define NDP_OPT_SL2A   (1)
 source link-layer address option
 
#define NDP_OPT_TL2A   (2)
 target link-layer address option
 
#define NDP_OPT_PI   (3)
 prefix information option
 
#define NDP_OPT_RH   (4)
 redirected option
 
#define NDP_OPT_MTU   (5)
 MTU option.
 
#define NDP_OPT_AR   (33)
 address registration option
 
#define NDP_OPT_6CTX   (34)
 6LoWPAN context option
 
#define NDP_OPT_ABR   (35)
 authoritative border router option
 

Flags for prefix information option

#define NDP_OPT_PI_FLAGS_MASK   (0xc0)
 
#define NDP_OPT_PI_FLAGS_L   (0x80)
 on-link
 
#define NDP_OPT_PI_FLAGS_A   (0x40)
 autonomous address configuration
 

Prefix information option constants

See also
RFC 4861, section 4.6.2
#define NDP_OPT_PI_VALID_LTIME_INF   (UINT32_MAX)
 infinite valid lifetime
 
#define NDP_OPT_PI_PREF_LTIME_INF   (UINT32_MAX)
 infinite preferred lifetime
 

Lengths for fixed length options

Note
Options don't use bytes as their length unit, but 8 bytes.
#define NDP_OPT_PI_LEN   (4U)
 
#define NDP_OPT_MTU_LEN   (1U)
 

Router constants

See also
RFC 4861, section 10
#define NDP_MAX_INIT_RA_INTERVAL   (16000U)
 MAX_INITIAL_RTR_ADVERT_INTERVAL (in ms)
 
#define NDP_MAX_INIT_RA_NUMOF   (3U)
 MAX_INITIAL_RTR_ADVERTISEMENT.
 
#define NDP_MAX_FIN_RA_NUMOF   (3U)
 MAX_FINAL_RTR_ADVERTISEMENT.
 
#define NDP_MIN_MS_DELAY_BETWEEN_RAS   (3000U)
 MIN_DELAY_BETWEEN_RAS (in ms)
 
#define NDP_MAX_RA_DELAY   (500U)
 MAX_RA_DELAY_TIME (in ms)
 

Host constants

See also
RFC 4861, section 10
#define NDP_MAX_RS_MS_DELAY   (1000U)
 MAX_RTR_SOLICITATION_DELAY (in ms)
 
#define NDP_RS_MS_INTERVAL   (4000U)
 RTR_SOLICITATION_INTERVAL (in ms)
 
#define NDP_MAX_RS_NUMOF   (3U)
 MAX_RTR_SOLICITATIONS.
 

Node constants

See also
RFC 4861, section 10
#define NDP_MAX_MC_SOL_NUMOF   (3U)
 MAX_MULTICAST_SOLICIT.
 
#define NDP_MAX_UC_SOL_NUMOF   (3U)
 MAX_UNICAST_SOLICIT.
 
#define NDP_MAX_ANYCAST_MS_DELAY   (1000U)
 MAX_ANYCAST_DELAY_TIME (in ms)
 
#define NDP_MAX_NA_NUMOF   (3U)
 MAX_NEIGHBOR_ADVERTISEMENT.
 
#define NDP_REACH_MS   (30000U)
 REACHABLE_TIME (in ms)
 
#define NDP_RETRANS_TIMER_MS   (1000U)
 RETRANS_TIMER (in ms)
 
#define NDP_MAX_RETRANS_TIMER_MS   (60000U)
 MAX_RETRANS_TIMER (in ms) More...
 
#define NDP_DELAY_FIRST_PROBE_MS   (5000U)
 DELAY_FIRST_PROBE_TIME (in ms)
 
#define NDP_MIN_RANDOM_FACTOR   (500U)
 MIN_RANDOM_FACTOR (x 1000)
 
#define NDP_MAX_RANDOM_FACTOR   (1500U)
 MAX_RANDOM_FACTOR (x 1000)
 

Macro Definition Documentation

◆ NDP_MAX_RETRANS_TIMER_MS

#define NDP_MAX_RETRANS_TIMER_MS   (60000U)
See also
RFC 7048

Definition at line 161 of file ndp.h.

◆ NDP_NBR_ADV_LTIME_NOT_DR

#define NDP_NBR_ADV_LTIME_NOT_DR   (0)
See also
RFC 4861, section 6.2.1

Definition at line 61 of file ndp.h.

◆ NDP_NBR_ADV_RETRANS_TIMER

#define NDP_NBR_ADV_RETRANS_TIMER   (0)

timer unspecified by advertising router

Definition at line 64 of file ndp.h.

◆ NDP_RTR_ADV_CUR_HL_UNSPEC

#define NDP_RTR_ADV_CUR_HL_UNSPEC   (0)
See also
RFC 4861, section 4.2current hop limit unspecified by advertising router

Definition at line 49 of file ndp.h.

◆ NDP_RTR_ADV_LTIME_SEC_MAX

#define NDP_RTR_ADV_LTIME_SEC_MAX   (9000)
See also
RFC 4861, section 6.2.1

Definition at line 55 of file ndp.h.