ndp_router_adv.c File Reference

Router advertisement service. More...

#include "core/net.h"
#include "core/ip.h"
#include "ipv6/ipv6.h"
#include "ipv6/ipv6_misc.h"
#include "ipv6/icmpv6.h"
#include "ipv6/ndp.h"
#include "ipv6/ndp_cache.h"
#include "ipv6/ndp_misc.h"
#include "ipv6/ndp_router_adv.h"
#include "mibs/ip_mib_module.h"
#include "debug.h"

Go to the source code of this file.

Macros

#define TRACE_LEVEL   NDP_TRACE_LEVEL
 

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

Macro Definition Documentation

◆ TRACE_LEVEL

#define TRACE_LEVEL   NDP_TRACE_LEVEL

Definition at line 30 of file ndp_router_adv.c.

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.