Go to the documentation of this file.
31 #ifndef _NDP_ROUTER_ADV_H
32 #define _NDP_ROUTER_ADV_H
39 #ifndef NDP_ROUTER_ADV_SUPPORT
40 #define NDP_ROUTER_ADV_SUPPORT DISABLED
41 #elif (NDP_ROUTER_ADV_SUPPORT != ENABLED && NDP_ROUTER_ADV_SUPPORT != DISABLED)
42 #error NDP_ROUTER_ADV_SUPPORT parameter is not valid
46 #ifndef NDP_ROUTER_ADV_TICK_INTERVAL
47 #define NDP_ROUTER_ADV_TICK_INTERVAL 100
48 #elif (NDP_ROUTER_ADV_TICK_INTERVAL < 10)
49 #error NDP_ROUTER_ADV_TICK_INTERVAL parameter is not valid
53 #ifndef NDP_ROUTER_ADV_PRIVATE_CONTEXT
54 #define NDP_ROUTER_ADV_PRIVATE_CONTEXT
59 #define NdpRouterAdvContext struct _NdpRouterAdvContext
IPv6 (Internet Protocol Version 6)
uint32_t preferredLifetime
uint32_t reachableTime
Value of the Reachable Time field.
void(* NdpRouterAddOptionsCallback)(NdpRouterAdvContext *context, NdpRouterAdvMessage *message, size_t *length)
Add Router Advertisement options callback.
uint8_t preference
Value of the Router Selection Preferences field.
error_t ndpRouterAdvStop(NdpRouterAdvContext *context)
Stop RA service.
bool_t homeAgentFlag
Mobile IPv6 Home Agent flag.
bool_t proxyFlag
Value of the Neighbor Discovery Proxy flag.
void ndpRouterAdvGetDefaultSettings(NdpRouterAdvSettings *settings)
Initialize settings with default values.
uint32_t linkMtu
Recommended MTU for the link (MTU option)
NdpRouterAdvRouteInfo * routeList
List of routes (RIO option)
NdpRouterAdvSettings settings
RA service settings.
#define NdpRouterAdvContext
uint16_t defaultLifetime
Value of the Router Lifetime field.
bool_t managedFlag
Managed Address Configuration flag.
uint_t routerAdvCount
Router Advertisement message counter.
#define NDP_ROUTER_ADV_PRIVATE_CONTEXT
NdpRouterAddOptionsCallback addOptionsCallback
Add Router Advertisement options callback.
systime_t timeout
Timeout value.
error_t ndpRouterAdvStart(NdpRouterAdvContext *context)
Start RA service.
NdpRouterAdvContextInfo * contextList
List of compression contexts (6CO option)
Context information for 6LoWPAN header compression.
uint32_t systime_t
System time.
uint32_t retransTimer
Value of the Retrans Timer field.
systime_t minRtrAdvInterval
Maximum time between unsolicited Router Advertisements.
uint8_t curHopLimit
Value of the Cur Hop Limit field.
bool_t otherConfigFlag
Other Configuration flag.
uint_t routeListLength
Number of routes in the list.
systime_t timestamp
Timestamp to manage retransmissions.
NetInterface * interface
Underlying network interface.
uint_t contextListLength
Number of compression contexts in the list.
error_t ndpRouterAdvInit(NdpRouterAdvContext *context, const NdpRouterAdvSettings *settings)
RA service initialization.
uint_t prefixListLength
Number of prefixes in the list.
systime_t maxRtrAdvInterval
Minimum time between unsolicited Router Advertisements.
bool_t running
This flag tells whether the RA service is running.
systime_t ndpRouterAdvTickCounter
NdpRouterAdvPrefixInfo * prefixList
List of prefixes (PIO option)