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...




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...


systime_t ndpRouterAdvTickCounter

Detailed Description

Router advertisement service.


SPDX-License-Identifier: GPL-2.0-or-later

Copyright (C) 2010-2020 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.

Oryx Embedded SARL (www.oryx-embedded.com)

Definition in file ndp_router_adv.h.

Macro Definition Documentation



Definition at line 40 of file ndp_router_adv.h.



Definition at line 47 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.

[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 408 of file ndp_router_adv.c.

◆ ndpRouterAdvGetDefaultSettings()

void ndpRouterAdvGetDefaultSettings ( NdpRouterAdvSettings settings)

Initialize settings with default values.

[out]settingsStructure that contains the RA service configuration variables

Definition at line 59 of file ndp_router_adv.c.

◆ ndpRouterAdvInit()

error_t ndpRouterAdvInit ( NdpRouterAdvContext context,
const NdpRouterAdvSettings settings 

RA service initialization.

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

Definition at line 135 of file ndp_router_adv.c.

◆ ndpRouterAdvLinkChangeEvent()

void ndpRouterAdvLinkChangeEvent ( NdpRouterAdvContext context)

Callback function for link change event.

[in]contextPointer to the RA service context

Definition at line 369 of file ndp_router_adv.c.

◆ ndpRouterAdvStart()

error_t ndpRouterAdvStart ( NdpRouterAdvContext context)

Start RA service.

[in]contextPointer to the RA service context
Error code

Definition at line 181 of file ndp_router_adv.c.

◆ ndpRouterAdvStop()

error_t ndpRouterAdvStop ( NdpRouterAdvContext context)

Stop RA service.

[in]contextPointer to the RA service context
Error code

Definition at line 252 of file ndp_router_adv.c.

◆ ndpRouterAdvTick()

void ndpRouterAdvTick ( NdpRouterAdvContext context)

RA service timer handler.

[in]contextPointer to the RA service context

Definition at line 307 of file ndp_router_adv.c.

◆ ndpSendRouterAdv()

error_t ndpSendRouterAdv ( NdpRouterAdvContext context,
uint16_t  routerLifetime 

Send a Router Advertisement message.

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

Definition at line 591 of file ndp_router_adv.c.

Variable Documentation

◆ ndpRouterAdvTickCounter

systime_t ndpRouterAdvTickCounter

Definition at line 51 of file ndp_router_adv.c.