ndp_router_adv.h File Reference

Router advertisement service. More...

#include "core/net.h"
#include "ipv6/ipv6.h"

Go to the source code of this file.

Data Structures

struct  NdpRouterAdvPrefixInfo
 IPv6 prefix information. More...
 
struct  NdpRouterAdvRouteInfo
 Route information. More...
 
struct  NdpRouterAdvContextInfo
 Context information for 6LoWPAN header compression. More...
 
struct  NdpRouterAdvSettings
 RA service settings. More...
 
struct  NdpRouterAdvContext
 RA service context. More...
 

Macros

#define NDP_ROUTER_ADV_SUPPORT   DISABLED
 
#define NDP_ROUTER_ADV_TICK_INTERVAL   100
 

Functions

void ndpRouterAdvGetDefaultSettings (NdpRouterAdvSettings *settings)
 Initialize settings with default values. More...
 
error_t ndpRouterAdvInit (NdpRouterAdvContext *context, const NdpRouterAdvSettings *settings)
 RA service initialization. More...
 
error_t ndpRouterAdvStart (NdpRouterAdvContext *context)
 Start RA service. More...
 
error_t ndpRouterAdvStop (NdpRouterAdvContext *context)
 Stop RA service. More...
 
void ndpRouterAdvTick (NdpRouterAdvContext *context)
 RA service timer handler. More...
 
void ndpRouterAdvLinkChangeEvent (NdpRouterAdvContext *context)
 Callback function for link change event. More...
 
void ndpProcessRouterSol (NetInterface *interface, Ipv6PseudoHeader *pseudoHeader, const NetBuffer *buffer, size_t offset, uint8_t hopLimit)
 Router Solicitation message processing. More...
 
error_t ndpSendRouterAdv (NdpRouterAdvContext *context, uint16_t routerLifetime)
 Send a Router Advertisement message. More...
 

Variables

systime_t ndpRouterAdvTickCounter
 

Detailed Description

Router advertisement service.

License

Copyright (C) 2010-2018 Oryx Embedded SARL. All rights reserved.

This file is part of CycloneTCP Open.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Author
Oryx Embedded SARL (www.oryx-embedded.com)
Version
1.9.0

Definition in file ndp_router_adv.h.

Macro Definition Documentation

◆ NDP_ROUTER_ADV_SUPPORT

#define NDP_ROUTER_ADV_SUPPORT   DISABLED

Definition at line 38 of file ndp_router_adv.h.

◆ NDP_ROUTER_ADV_TICK_INTERVAL

#define NDP_ROUTER_ADV_TICK_INTERVAL   100

Definition at line 45 of file ndp_router_adv.h.

Function Documentation

◆ ndpProcessRouterSol()

void ndpProcessRouterSol ( NetInterface interface,
Ipv6PseudoHeader pseudoHeader,
const NetBuffer buffer,
size_t  offset,
uint8_t  hopLimit 
)

Router Solicitation message processing.

Parameters
[in]interfaceUnderlying network interface
[in]pseudoHeaderIPv6 pseudo header
[in]bufferMulti-part buffer containing the Router Advertisement message
[in]offsetOffset to the first byte of the message
[in]hopLimitHop Limit field from IPv6 header

Definition at line 406 of file ndp_router_adv.c.

◆ ndpRouterAdvGetDefaultSettings()

void ndpRouterAdvGetDefaultSettings ( NdpRouterAdvSettings settings)

Initialize settings with default values.

Parameters
[out]settingsStructure that contains the RA service configuration variables

Definition at line 57 of file ndp_router_adv.c.

◆ ndpRouterAdvInit()

error_t ndpRouterAdvInit ( NdpRouterAdvContext context,
const NdpRouterAdvSettings settings 
)

RA service initialization.

Parameters
[in]contextPointer to the RA service context
[in]settingsRA service configuration variables
Returns
Error code

Definition at line 133 of file ndp_router_adv.c.

◆ ndpRouterAdvLinkChangeEvent()

void ndpRouterAdvLinkChangeEvent ( NdpRouterAdvContext context)

Callback function for link change event.

Parameters
[in]contextPointer to the RA service context

Definition at line 367 of file ndp_router_adv.c.

◆ ndpRouterAdvStart()

error_t ndpRouterAdvStart ( NdpRouterAdvContext context)

Start RA service.

Parameters
[in]contextPointer to the RA service context
Returns
Error code

Definition at line 179 of file ndp_router_adv.c.

◆ ndpRouterAdvStop()

error_t ndpRouterAdvStop ( NdpRouterAdvContext context)

Stop RA service.

Parameters
[in]contextPointer to the RA service context
Returns
Error code

Definition at line 250 of file ndp_router_adv.c.

◆ ndpRouterAdvTick()

void ndpRouterAdvTick ( NdpRouterAdvContext context)

RA service timer handler.

Parameters
[in]contextPointer to the RA service context

Definition at line 305 of file ndp_router_adv.c.

◆ ndpSendRouterAdv()

error_t ndpSendRouterAdv ( NdpRouterAdvContext context,
uint16_t  routerLifetime 
)

Send a Router Advertisement message.

Parameters
[in]contextPointer to the RA service context
[in]routerLifetimeRouter Lifetime field
Returns
Error code

Definition at line 589 of file ndp_router_adv.c.

Variable Documentation

◆ ndpRouterAdvTickCounter

systime_t ndpRouterAdvTickCounter

Definition at line 49 of file ndp_router_adv.c.