ndp.h File Reference

NDP (Neighbor Discovery Protocol) More...

#include "core/net.h"

Go to the source code of this file.

Data Structures

struct  NdpQueueItem
 NDP queue item. More...
 
struct  NdpNeighborCacheEntry
 Neighbor cache entry. More...
 
struct  NdpDestCacheEntry
 Destination cache entry. More...
 
struct  NdpContext
 NDP context. More...
 

Macros

#define NDP_SUPPORT   ENABLED
 
#define NDP_TICK_INTERVAL   200
 
#define NDP_NEIGHBOR_CACHE_SIZE   8
 
#define NDP_DEST_CACHE_SIZE   8
 
#define NDP_MAX_PENDING_PACKETS   2
 
#define NDP_MAX_RTR_ADVERT_INTERVAL   600000
 
#define NDP_MAX_INITIAL_RTR_ADVERT_INTERVAL   16000
 
#define NDP_MAX_INITIAL_RTR_ADVERTISEMENTS   3
 
#define NDP_MAX_FINAL_RTR_ADVERTISEMENTS   3
 
#define NDP_MIN_DELAY_BETWEEN_RAS   3000
 
#define NDP_MAX_RA_DELAY_TIME   500
 
#define NDP_MIN_RTR_SOLICITATION_DELAY   0
 
#define NDP_MAX_RTR_SOLICITATION_DELAY   1000
 
#define NDP_RTR_SOLICITATION_INTERVAL   4000
 
#define NDP_MAX_RTR_SOLICITATIONS   3
 
#define NDP_MAX_MULTICAST_SOLICIT   3
 
#define NDP_MAX_UNICAST_SOLICIT   3
 
#define NDP_DUP_ADDR_DETECT_TRANSMITS   1
 
#define NDP_MAX_ANYCAST_DELAY_TIME   1000
 
#define NDP_MAX_NEIGHBOR_ADVERTISEMENT   3
 
#define NDP_REACHABLE_TIME   30000
 
#define NDP_RETRANS_TIMER   1000
 
#define NDP_DELAY_FIRST_PROBE_TIME   5000
 
#define NDP_HOP_LIMIT   255
 
#define NDP_INFINITE_LIFETIME   0xFFFFFFFF
 

Enumerations

enum  NdpOptionType {
  NDP_OPT_SOURCE_LINK_LAYER_ADDR = 1 , NDP_OPT_TARGET_LINK_LAYER_ADDR = 2 , NDP_OPT_PREFIX_INFORMATION = 3 , NDP_OPT_REDIRECTED_HEADER = 4 ,
  NDP_OPT_MTU = 5 , NDP_OPT_ROUTE_INFORMATION = 24 , NDP_OPT_RECURSIVE_DNS_SERVER = 25 , NDP_OPT_DNS_SEARCH_LIST = 31 ,
  NDP_OPT_6LOWPAN_CONTEXT = 34 , NDP_OPT_CAPTIVE_PORTAL = 37 , NDP_OPT_ANY = 255
}
 Neighbor Discovery options. More...
 
enum  NdpRouterSelPreference { NDP_ROUTER_SEL_PREFERENCE_MEDIUM = 0 , NDP_ROUTER_SEL_PREFERENCE_HIGH = 1 , NDP_ROUTER_SEL_PREFERENCE_RESERVED = 2 , NDP_ROUTER_SEL_PREFERENCE_LOW = 3 }
 Router selection preferences. More...
 
enum  NdpState {
  NDP_STATE_NONE = 0 , NDP_STATE_INCOMPLETE = 1 , NDP_STATE_REACHABLE = 2 , NDP_STATE_STALE = 3 ,
  NDP_STATE_DELAY = 4 , NDP_STATE_PROBE = 5 , NDP_STATE_PERMANENT = 6
}
 Neighbor cache entry states. More...
 

Functions

error_t ndpInit (NetInterface *interface)
 Neighbor cache initialization. More...
 
error_t ndpEnable (NetInterface *interface, bool_t enable)
 Enable address resolution using Neighbor Discovery protocol. More...
 
error_t ndpAddStaticEntry (NetInterface *interface, const Ipv6Addr *ipAddr, const MacAddr *macAddr)
 Add a static entry in the Neighbor cache. More...
 
error_t ndpRemoveStaticEntry (NetInterface *interface, const Ipv6Addr *ipAddr)
 Remove a static entry from the Neighbor cache. More...
 
error_t ndpResolve (NetInterface *interface, const Ipv6Addr *ipAddr, MacAddr *macAddr)
 Address resolution using Neighbor Discovery protocol. More...
 
error_t ndpEnqueuePacket (NetInterface *srcInterface, NetInterface *destInterface, const Ipv6Addr *ipAddr, NetBuffer *buffer, size_t offset, NetTxAncillary *ancillary)
 Enqueue an IPv6 packet waiting for address resolution. More...
 
void ndpTick (NetInterface *interface)
 NDP timer handler. More...
 
void ndpLinkChangeEvent (NetInterface *interface)
 Callback function for link change event. More...
 
void ndpProcessRouterAdv (NetInterface *interface, const Ipv6PseudoHeader *pseudoHeader, const NetBuffer *buffer, size_t offset, uint8_t hopLimit)
 Router Advertisement message processing. More...
 
void ndpProcessNeighborSol (NetInterface *interface, const Ipv6PseudoHeader *pseudoHeader, const NetBuffer *buffer, size_t offset, uint8_t hopLimit)
 Neighbor Solicitation message processing. More...
 
void ndpProcessNeighborAdv (NetInterface *interface, const Ipv6PseudoHeader *pseudoHeader, const NetBuffer *buffer, size_t offset, uint8_t hopLimit)
 Neighbor Advertisement message processing. More...
 
void ndpProcessRedirect (NetInterface *interface, const Ipv6PseudoHeader *pseudoHeader, const NetBuffer *buffer, size_t offset, uint8_t hopLimit)
 Redirect message processing. More...
 
error_t ndpSendRouterSol (NetInterface *interface)
 Send a Router Solicitation message. More...
 
error_t ndpSendNeighborSol (NetInterface *interface, const Ipv6Addr *targetIpAddr, bool_t multicast)
 Send a Neighbor Solicitation message. More...
 
error_t ndpSendNeighborAdv (NetInterface *interface, const Ipv6Addr *targetIpAddr, const Ipv6Addr *destIpAddr)
 Send a Neighbor Advertisement message. More...
 
error_t ndpSendRedirect (NetInterface *interface, const Ipv6Addr *targetAddr, const NetBuffer *ipPacket, size_t ipPacketOffset)
 Send a Redirect message. More...
 
void ndpDumpRouterSolMessage (const NdpRouterSolMessage *message)
 Dump Router Solicitation message for debugging purpose. More...
 
void ndpDumpRouterAdvMessage (const NdpRouterAdvMessage *message)
 Dump Router Advertisement message for debugging purpose. More...
 
void ndpDumpNeighborSolMessage (const NdpNeighborSolMessage *message)
 Dump Neighbor Solicitation message for debugging purpose. More...
 
void ndpDumpNeighborAdvMessage (const NdpNeighborAdvMessage *message)
 Dump Neighbor Advertisement message for debugging purpose. More...
 
void ndpDumpRedirectMessage (const NdpRedirectMessage *message)
 Dump Redirect message for debugging purpose. More...
 

Variables

typedef __packed_struct
 Router Solicitation message. More...
 
uint8_t code
 
uint16_t checksum
 
uint32_t reserved
 
uint8_t options []
 
 NdpRouterSolMessage
 
uint8_t curHopLimit
 
uint8_t p
 
uint8_t prf
 
uint8_t h
 
uint8_t o
 
uint8_t m
 
uint16_t routerLifetime
 
uint32_t reachableTime
 
uint32_t retransTimer
 
 NdpRouterAdvMessage
 
Ipv6Addr targetAddr
 
 NdpNeighborSolMessage
 
uint8_t reserved1
 
uint8_t s
 
uint8_t r
 
uint8_t reserved2 [3]
 
 NdpNeighborAdvMessage
 
Ipv6Addr destAddr
 
 NdpRedirectMessage
 
uint8_t length
 
uint8_t value []
 
 NdpOption
 
MacAddr linkLayerAddr
 
 NdpLinkLayerAddrOption
 
uint8_t prefixLength
 
uint8_t a
 
uint8_t l
 
uint32_t validLifetime
 
uint32_t preferredLifetime
 
Ipv6Addr prefix
 
 NdpPrefixInfoOption
 
uint8_t ipPacket []
 
 NdpRedirectedHeaderOption
 
uint32_t mtu
 
 NdpMtuOption
 
uint32_t routeLifetime
 
 NdpRouteInfoOption
 
uint32_t lifetime
 
Ipv6Addr address []
 
 NdpRdnssOption
 
uint8_t domainNames []
 
 NdpDnsslOption
 
uint8_t contextLength
 
uint8_t cid
 
uint8_t c
 
Ipv6Addr contextPrefix
 
 NdpContextOption
 
systime_t ndpTickCounter
 

Detailed Description

NDP (Neighbor Discovery Protocol)

License

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

Copyright (C) 2010-2024 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
2.4.0

Definition in file ndp.h.

Macro Definition Documentation

◆ NDP_DELAY_FIRST_PROBE_TIME

#define NDP_DELAY_FIRST_PROBE_TIME   5000

Definition at line 193 of file ndp.h.

◆ NDP_DEST_CACHE_SIZE

#define NDP_DEST_CACHE_SIZE   8

Definition at line 60 of file ndp.h.

◆ NDP_DUP_ADDR_DETECT_TRANSMITS

#define NDP_DUP_ADDR_DETECT_TRANSMITS   1

Definition at line 158 of file ndp.h.

◆ NDP_HOP_LIMIT

#define NDP_HOP_LIMIT   255

Definition at line 199 of file ndp.h.

◆ NDP_INFINITE_LIFETIME

#define NDP_INFINITE_LIFETIME   0xFFFFFFFF

Definition at line 202 of file ndp.h.

◆ NDP_MAX_ANYCAST_DELAY_TIME

#define NDP_MAX_ANYCAST_DELAY_TIME   1000

Definition at line 165 of file ndp.h.

◆ NDP_MAX_FINAL_RTR_ADVERTISEMENTS

#define NDP_MAX_FINAL_RTR_ADVERTISEMENTS   3

Definition at line 95 of file ndp.h.

◆ NDP_MAX_INITIAL_RTR_ADVERT_INTERVAL

#define NDP_MAX_INITIAL_RTR_ADVERT_INTERVAL   16000

Definition at line 81 of file ndp.h.

◆ NDP_MAX_INITIAL_RTR_ADVERTISEMENTS

#define NDP_MAX_INITIAL_RTR_ADVERTISEMENTS   3

Definition at line 88 of file ndp.h.

◆ NDP_MAX_MULTICAST_SOLICIT

#define NDP_MAX_MULTICAST_SOLICIT   3

Definition at line 144 of file ndp.h.

◆ NDP_MAX_NEIGHBOR_ADVERTISEMENT

#define NDP_MAX_NEIGHBOR_ADVERTISEMENT   3

Definition at line 172 of file ndp.h.

◆ NDP_MAX_PENDING_PACKETS

#define NDP_MAX_PENDING_PACKETS   2

Definition at line 67 of file ndp.h.

◆ NDP_MAX_RA_DELAY_TIME

#define NDP_MAX_RA_DELAY_TIME   500

Definition at line 109 of file ndp.h.

◆ NDP_MAX_RTR_ADVERT_INTERVAL

#define NDP_MAX_RTR_ADVERT_INTERVAL   600000

Definition at line 74 of file ndp.h.

◆ NDP_MAX_RTR_SOLICITATION_DELAY

#define NDP_MAX_RTR_SOLICITATION_DELAY   1000

Definition at line 123 of file ndp.h.

◆ NDP_MAX_RTR_SOLICITATIONS

#define NDP_MAX_RTR_SOLICITATIONS   3

Definition at line 137 of file ndp.h.

◆ NDP_MAX_UNICAST_SOLICIT

#define NDP_MAX_UNICAST_SOLICIT   3

Definition at line 151 of file ndp.h.

◆ NDP_MIN_DELAY_BETWEEN_RAS

#define NDP_MIN_DELAY_BETWEEN_RAS   3000

Definition at line 102 of file ndp.h.

◆ NDP_MIN_RTR_SOLICITATION_DELAY

#define NDP_MIN_RTR_SOLICITATION_DELAY   0

Definition at line 116 of file ndp.h.

◆ NDP_NEIGHBOR_CACHE_SIZE

#define NDP_NEIGHBOR_CACHE_SIZE   8

Definition at line 53 of file ndp.h.

◆ NDP_REACHABLE_TIME

#define NDP_REACHABLE_TIME   30000

Definition at line 179 of file ndp.h.

◆ NDP_RETRANS_TIMER

#define NDP_RETRANS_TIMER   1000

Definition at line 186 of file ndp.h.

◆ NDP_RTR_SOLICITATION_INTERVAL

#define NDP_RTR_SOLICITATION_INTERVAL   4000

Definition at line 130 of file ndp.h.

◆ NDP_SUPPORT

#define NDP_SUPPORT   ENABLED

Definition at line 39 of file ndp.h.

◆ NDP_TICK_INTERVAL

#define NDP_TICK_INTERVAL   200

Definition at line 46 of file ndp.h.

Enumeration Type Documentation

◆ NdpOptionType

Neighbor Discovery options.

Enumerator
NDP_OPT_SOURCE_LINK_LAYER_ADDR 
NDP_OPT_TARGET_LINK_LAYER_ADDR 
NDP_OPT_PREFIX_INFORMATION 
NDP_OPT_REDIRECTED_HEADER 
NDP_OPT_MTU 
NDP_OPT_ROUTE_INFORMATION 
NDP_OPT_RECURSIVE_DNS_SERVER 
NDP_OPT_DNS_SEARCH_LIST 
NDP_OPT_6LOWPAN_CONTEXT 
NDP_OPT_CAPTIVE_PORTAL 
NDP_OPT_ANY 

Definition at line 214 of file ndp.h.

◆ NdpRouterSelPreference

Router selection preferences.

Enumerator
NDP_ROUTER_SEL_PREFERENCE_MEDIUM 
NDP_ROUTER_SEL_PREFERENCE_HIGH 
NDP_ROUTER_SEL_PREFERENCE_RESERVED 
NDP_ROUTER_SEL_PREFERENCE_LOW 

Definition at line 234 of file ndp.h.

◆ NdpState

enum NdpState

Neighbor cache entry states.

Enumerator
NDP_STATE_NONE 
NDP_STATE_INCOMPLETE 
NDP_STATE_REACHABLE 
NDP_STATE_STALE 
NDP_STATE_DELAY 
NDP_STATE_PROBE 
NDP_STATE_PERMANENT 

Definition at line 247 of file ndp.h.

Function Documentation

◆ ndpAddStaticEntry()

error_t ndpAddStaticEntry ( NetInterface interface,
const Ipv6Addr ipAddr,
const MacAddr macAddr 
)

Add a static entry in the Neighbor cache.

Parameters
[in]interfaceUnderlying network interface
[in]ipAddrIPv6 address
[in]macAddrMAC address
Returns
Error code

Definition at line 141 of file ndp.c.

◆ ndpDumpNeighborAdvMessage()

void ndpDumpNeighborAdvMessage ( const NdpNeighborAdvMessage message)

Dump Neighbor Advertisement message for debugging purpose.

Parameters
[in]messageNeighbor Advertisement message

Definition at line 2211 of file ndp.c.

◆ ndpDumpNeighborSolMessage()

void ndpDumpNeighborSolMessage ( const NdpNeighborSolMessage message)

Dump Neighbor Solicitation message for debugging purpose.

Parameters
[in]messageNeighbor Solicitation message

Definition at line 2196 of file ndp.c.

◆ ndpDumpRedirectMessage()

void ndpDumpRedirectMessage ( const NdpRedirectMessage message)

Dump Redirect message for debugging purpose.

Parameters
[in]messageRedirect message

Definition at line 2229 of file ndp.c.

◆ ndpDumpRouterAdvMessage()

void ndpDumpRouterAdvMessage ( const NdpRouterAdvMessage message)

Dump Router Advertisement message for debugging purpose.

Parameters
[in]messageRouter Advertisement message

Definition at line 2176 of file ndp.c.

◆ ndpDumpRouterSolMessage()

void ndpDumpRouterSolMessage ( const NdpRouterSolMessage message)

Dump Router Solicitation message for debugging purpose.

Parameters
[in]messageRouter Solicitation message

Definition at line 2162 of file ndp.c.

◆ ndpEnable()

error_t ndpEnable ( NetInterface interface,
bool_t  enable 
)

Enable address resolution using Neighbor Discovery protocol.

Parameters
[in]interfaceUnderlying network interface
[in]enableThis flag specifies whether the host is allowed to send Neighbor solicitations and respond to incoming Neighbor solicitations. When the flag is set to FALSE, the host relies exclusively on static Neighbor cache entries to map IPv6 addresses into MAC addresses and silently drop incoming Neighbor solicitations
Returns
Error code

Definition at line 106 of file ndp.c.

◆ ndpEnqueuePacket()

error_t ndpEnqueuePacket ( NetInterface srcInterface,
NetInterface destInterface,
const Ipv6Addr ipAddr,
NetBuffer buffer,
size_t  offset,
NetTxAncillary ancillary 
)

Enqueue an IPv6 packet waiting for address resolution.

Parameters
[in]srcInterfaceInterface from which the packet has been received
[in]destInterfaceInterface on which the packet should be sent
[in]ipAddrIPv6 address of the destination host
[in]bufferMulti-part buffer containing the packet to be enqueued
[in]offsetOffset to the first byte of the packet
[in]ancillaryAdditional options passed to the stack along with the packet
Returns
Error code

Definition at line 360 of file ndp.c.

◆ ndpInit()

error_t ndpInit ( NetInterface interface)

Neighbor cache initialization.

Parameters
[in]interfaceUnderlying network interface
Returns
Error code

Definition at line 68 of file ndp.c.

◆ ndpLinkChangeEvent()

void ndpLinkChangeEvent ( NetInterface interface)

Callback function for link change event.

Parameters
[in]interfaceUnderlying network interface

Definition at line 541 of file ndp.c.

◆ ndpProcessNeighborAdv()

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

Neighbor Advertisement message processing.

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

Definition at line 1112 of file ndp.c.

◆ ndpProcessNeighborSol()

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

Neighbor Solicitation message processing.

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

Definition at line 867 of file ndp.c.

◆ ndpProcessRedirect()

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

Redirect message processing.

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

Definition at line 1359 of file ndp.c.

◆ ndpProcessRouterAdv()

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

Router Advertisement 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 578 of file ndp.c.

◆ ndpRemoveStaticEntry()

error_t ndpRemoveStaticEntry ( NetInterface interface,
const Ipv6Addr ipAddr 
)

Remove a static entry from the Neighbor cache.

Parameters
[in]interfaceUnderlying network interface
[in]ipAddrIPv6 address
Returns
Error code

Definition at line 215 of file ndp.c.

◆ ndpResolve()

error_t ndpResolve ( NetInterface interface,
const Ipv6Addr ipAddr,
MacAddr macAddr 
)

Address resolution using Neighbor Discovery protocol.

Parameters
[in]interfaceUnderlying network interface
[in]ipAddrIPv6 address
[in]macAddrPhysical address matching the specified IPv6 address
Returns
Error code

Definition at line 260 of file ndp.c.

◆ ndpSendNeighborAdv()

error_t ndpSendNeighborAdv ( NetInterface interface,
const Ipv6Addr targetIpAddr,
const Ipv6Addr destIpAddr 
)

Send a Neighbor Advertisement message.

Parameters
[in]interfaceUnderlying network interface
[in]targetIpAddrTarget IPv6 address
[in]destIpAddrDestination IPv6 address
Returns
Error code

Definition at line 1822 of file ndp.c.

◆ ndpSendNeighborSol()

error_t ndpSendNeighborSol ( NetInterface interface,
const Ipv6Addr targetIpAddr,
bool_t  multicast 
)

Send a Neighbor Solicitation message.

Parameters
[in]interfaceUnderlying network interface
[in]targetIpAddrTarget IPv6 address
[in]multicastUnicast or unicast Neighbor Solicitation message
Returns
Error code

Definition at line 1689 of file ndp.c.

◆ ndpSendRedirect()

error_t ndpSendRedirect ( NetInterface interface,
const Ipv6Addr targetAddr,
const NetBuffer ipPacket,
size_t  ipPacketOffset 
)

Send a Redirect message.

Parameters
[in]interfaceUnderlying network interface
[in]targetAddrIPv6 address that is a better first hop to use for the destination address
[in]ipPacketMulti-part buffer that holds the IPv6 packet that triggered the sending of the Redirect
[in]ipPacketOffsetOffset to the first byte of the IPv6 packet
Returns
Error code

Definition at line 1991 of file ndp.c.

◆ ndpSendRouterSol()

error_t ndpSendRouterSol ( NetInterface interface)

Send a Router Solicitation message.

Parameters
[in]interfaceUnderlying network interface
Returns
Error code

Definition at line 1569 of file ndp.c.

◆ ndpTick()

void ndpTick ( NetInterface interface)

NDP timer handler.

Parameters
[in]interfaceUnderlying network interface

Definition at line 450 of file ndp.c.

Variable Documentation

◆ __packed_struct

typedef __packed_struct
Initial value:
{
uint8_t type
uint8_t type
Definition: coap_common.h:176

Router Solicitation message.

6LoWPAN Context option (6CO)

DNS Search List option (DNSSL)

Recursive DNS Server option (RDNSS)

Route Information option (RIO)

MTU option.

Redirected Header option (RHO)

Prefix Information option (PIO)

Source/Target Link-Layer Address option.

Neighbor Discovery option general format.

Redirect message.

Neighbor Advertisement message.

Neighbor Solicitation message.

Router Advertisement message.

Definition at line 271 of file ndp.h.

◆ a

uint8_t a

Definition at line 411 of file ndp.h.

◆ address

Ipv6Addr address[]

Definition at line 481 of file ndp.h.

◆ c

uint8_t c

Definition at line 514 of file ndp.h.

◆ checksum

uint16_t checksum

Definition at line 275 of file ndp.h.

◆ cid

uint8_t cid

Definition at line 513 of file ndp.h.

◆ code

uint8_t code

Definition at line 274 of file ndp.h.

◆ contextLength

uint8_t contextLength

Definition at line 507 of file ndp.h.

◆ contextPrefix

Ipv6Addr contextPrefix

Definition at line 519 of file ndp.h.

◆ curHopLimit

uint8_t curHopLimit

Definition at line 290 of file ndp.h.

◆ destAddr

Ipv6Addr destAddr

Definition at line 365 of file ndp.h.

◆ domainNames

uint8_t domainNames[]

Definition at line 495 of file ndp.h.

◆ h

uint8_t h

Definition at line 302 of file ndp.h.

◆ ipPacket

uint8_t ipPacket[]

Definition at line 431 of file ndp.h.

◆ l

uint8_t l

Definition at line 412 of file ndp.h.

◆ length

uint8_t length

Definition at line 377 of file ndp.h.

◆ lifetime

uint32_t lifetime

Definition at line 480 of file ndp.h.

◆ linkLayerAddr

MacAddr linkLayerAddr

Definition at line 390 of file ndp.h.

◆ m

uint8_t m

Definition at line 304 of file ndp.h.

◆ mtu

uint32_t mtu

Definition at line 444 of file ndp.h.

◆ NdpContextOption

NdpContextOption

Definition at line 520 of file ndp.h.

◆ NdpDnsslOption

NdpDnsslOption

Definition at line 496 of file ndp.h.

◆ NdpLinkLayerAddrOption

NdpLinkLayerAddrOption

Definition at line 391 of file ndp.h.

◆ NdpMtuOption

NdpMtuOption

Definition at line 445 of file ndp.h.

◆ NdpNeighborAdvMessage

NdpNeighborAdvMessage

Definition at line 351 of file ndp.h.

◆ NdpNeighborSolMessage

NdpNeighborSolMessage

Definition at line 325 of file ndp.h.

◆ NdpOption

NdpOption

Definition at line 379 of file ndp.h.

◆ NdpPrefixInfoOption

NdpPrefixInfoOption

Definition at line 418 of file ndp.h.

◆ NdpRdnssOption

NdpRdnssOption

Definition at line 482 of file ndp.h.

◆ NdpRedirectedHeaderOption

NdpRedirectedHeaderOption

Definition at line 432 of file ndp.h.

◆ NdpRedirectMessage

NdpRedirectMessage

Definition at line 367 of file ndp.h.

◆ NdpRouteInfoOption

NdpRouteInfoOption

Definition at line 468 of file ndp.h.

◆ NdpRouterAdvMessage

NdpRouterAdvMessage

Definition at line 310 of file ndp.h.

◆ NdpRouterSolMessage

NdpRouterSolMessage

Definition at line 278 of file ndp.h.

◆ ndpTickCounter

systime_t ndpTickCounter
extern

Definition at line 59 of file ndp.c.

◆ o

uint8_t o

Definition at line 303 of file ndp.h.

◆ options

uint8_t options[]

Definition at line 277 of file ndp.h.

◆ p

uint8_t p

Definition at line 300 of file ndp.h.

◆ preferredLifetime

uint32_t preferredLifetime

Definition at line 415 of file ndp.h.

◆ prefix

Ipv6Addr prefix

Definition at line 417 of file ndp.h.

◆ prefixLength

uint8_t prefixLength

Definition at line 402 of file ndp.h.

◆ prf

uint8_t prf

Definition at line 301 of file ndp.h.

◆ r

uint8_t r

Definition at line 346 of file ndp.h.

◆ reachableTime

uint32_t reachableTime

Definition at line 307 of file ndp.h.

◆ reserved

uint16_t reserved

Definition at line 276 of file ndp.h.

◆ reserved1

uint8_t reserved1

Definition at line 343 of file ndp.h.

◆ reserved2

uint16_t reserved2

Definition at line 348 of file ndp.h.

◆ retransTimer

uint32_t retransTimer

Definition at line 308 of file ndp.h.

◆ routeLifetime

uint32_t routeLifetime

Definition at line 466 of file ndp.h.

◆ routerLifetime

uint16_t routerLifetime

Definition at line 306 of file ndp.h.

◆ s

uint8_t s

Definition at line 345 of file ndp.h.

◆ targetAddr

Ipv6Addr targetAddr

Definition at line 323 of file ndp.h.

◆ validLifetime

uint16_t validLifetime

Definition at line 414 of file ndp.h.

◆ value

uint8_t value[]

Definition at line 378 of file ndp.h.