Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
ndp.h File Reference
NDP (Neighbor Discovery Protocol) More...
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... | |
Enumerations | |
| enum | NdpOptionType |
Neighbor Discovery options. More... | |
| enum | NdpRouterSelPreference |
Router selection preferences. More... | |
| enum | NdpState |
Neighbor cache entry states. More... | |
Functions | |
| error_t | ndpInit (NetInterface *interface) |
| Neighbor cache initialization. | |
| error_t | ndpResolve (NetInterface *interface, const Ipv6Addr *ipAddr, MacAddr *macAddr) |
| Address resolution using Neighbor Discovery protocol. | |
| error_t | ndpEnqueuePacket (NetInterface *srcInterface, NetInterface *destInterface, const Ipv6Addr *ipAddr, NetBuffer *buffer, size_t offset) |
| Enqueue an IPv6 packet waiting for address resolution. | |
| void | ndpTick (NetInterface *interface) |
| NDP timer handler. | |
| void | ndpLinkChangeEvent (NetInterface *interface) |
| Callback function for link change event. | |
| void | ndpProcessRouterAdv (NetInterface *interface, Ipv6PseudoHeader *pseudoHeader, const NetBuffer *buffer, size_t offset, uint8_t hopLimit) |
| Router Advertisement message processing. | |
| void | ndpProcessNeighborSol (NetInterface *interface, Ipv6PseudoHeader *pseudoHeader, const NetBuffer *buffer, size_t offset, uint8_t hopLimit) |
| Neighbor Solicitation message processing. | |
| void | ndpProcessNeighborAdv (NetInterface *interface, Ipv6PseudoHeader *pseudoHeader, const NetBuffer *buffer, size_t offset, uint8_t hopLimit) |
| Neighbor Advertisement message processing. | |
| void | ndpProcessRedirect (NetInterface *interface, Ipv6PseudoHeader *pseudoHeader, const NetBuffer *buffer, size_t offset, uint8_t hopLimit) |
| Redirect message processing. | |
| error_t | ndpSendRouterSol (NetInterface *interface) |
| Send a Router Solicitation message. | |
| error_t | ndpSendNeighborSol (NetInterface *interface, const Ipv6Addr *targetIpAddr, bool_t multicast) |
| Send a Neighbor Solicitation message. | |
| error_t | ndpSendNeighborAdv (NetInterface *interface, const Ipv6Addr *targetIpAddr, const Ipv6Addr *destIpAddr) |
| Send a Neighbor Advertisement message. | |
| error_t | ndpSendRedirect (NetInterface *interface, const Ipv6Addr *targetAddr, const NetBuffer *ipPacket, size_t ipPacketOffset) |
| Send a Redirect message. | |
| void | ndpDumpRouterSolMessage (const NdpRouterSolMessage *message) |
| Dump Router Solicitation message for debugging purpose. | |
| void | ndpDumpRouterAdvMessage (const NdpRouterAdvMessage *message) |
| Dump Router Advertisement message for debugging purpose. | |
| void | ndpDumpNeighborSolMessage (const NdpNeighborSolMessage *message) |
| Dump Neighbor Solicitation message for debugging purpose. | |
| void | ndpDumpNeighborAdvMessage (const NdpNeighborAdvMessage *message) |
| Dump Neighbor Advertisement message for debugging purpose. | |
| void | ndpDumpRedirectMessage (const NdpRedirectMessage *message) |
| Dump Redirect message for debugging purpose. | |
Detailed Description
NDP (Neighbor Discovery Protocol)
License
Copyright (C) 2010-2017 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.
- Version:
- 1.7.6
Definition in file ndp.h.
Enumeration Type Documentation
| enum NdpOptionType |
Function Documentation
| void ndpDumpNeighborAdvMessage | ( | const NdpNeighborAdvMessage * | message ) |
| void ndpDumpNeighborSolMessage | ( | const NdpNeighborSolMessage * | message ) |
| void ndpDumpRedirectMessage | ( | const NdpRedirectMessage * | message ) |
| void ndpDumpRouterAdvMessage | ( | const NdpRouterAdvMessage * | message ) |
| void ndpDumpRouterSolMessage | ( | const NdpRouterSolMessage * | message ) |
| error_t ndpEnqueuePacket | ( | NetInterface * | srcInterface, |
| NetInterface * | destInterface, | ||
| const Ipv6Addr * | ipAddr, | ||
| NetBuffer * | buffer, | ||
| size_t | offset | ||
| ) |
Enqueue an IPv6 packet waiting for address resolution.
- Parameters:
-
[in] srcInterface Interface from which the packet has been received [in] destInterface Interface on which the packet should be sent [in] ipAddr IPv6 address of the destination host [in] buffer Multi-part buffer containing the packet to be enqueued [in] offset Offset to the first byte of the packet
- Returns:
- Error code
| error_t ndpInit | ( | NetInterface * | interface ) |
| void ndpLinkChangeEvent | ( | NetInterface * | interface ) |
| void ndpProcessNeighborAdv | ( | NetInterface * | interface, |
| Ipv6PseudoHeader * | pseudoHeader, | ||
| const NetBuffer * | buffer, | ||
| size_t | offset, | ||
| uint8_t | hopLimit | ||
| ) |
Neighbor Advertisement message processing.
- Parameters:
-
[in] interface Underlying network interface [in] pseudoHeader IPv6 pseudo header [in] buffer Multi-part buffer containing the Neighbor Advertisement message [in] offset Offset to the first byte of the message [in] hopLimit Hop Limit field from IPv6 header
| void ndpProcessNeighborSol | ( | NetInterface * | interface, |
| Ipv6PseudoHeader * | pseudoHeader, | ||
| const NetBuffer * | buffer, | ||
| size_t | offset, | ||
| uint8_t | hopLimit | ||
| ) |
Neighbor Solicitation message processing.
- Parameters:
-
[in] interface Underlying network interface [in] pseudoHeader IPv6 pseudo header [in] buffer Multi-part buffer containing the Neighbor Solicitation message [in] offset Offset to the first byte of the message [in] hopLimit Hop Limit field from IPv6 header
| void ndpProcessRedirect | ( | NetInterface * | interface, |
| Ipv6PseudoHeader * | pseudoHeader, | ||
| const NetBuffer * | buffer, | ||
| size_t | offset, | ||
| uint8_t | hopLimit | ||
| ) |
Redirect message processing.
- Parameters:
-
[in] interface Underlying network interface [in] pseudoHeader IPv6 pseudo header [in] buffer Multi-part buffer containing the Redirect message [in] offset Offset to the first byte of the message [in] hopLimit Hop Limit field from IPv6 header
| void ndpProcessRouterAdv | ( | NetInterface * | interface, |
| Ipv6PseudoHeader * | pseudoHeader, | ||
| const NetBuffer * | buffer, | ||
| size_t | offset, | ||
| uint8_t | hopLimit | ||
| ) |
Router Advertisement message processing.
- Parameters:
-
[in] interface Underlying network interface [in] pseudoHeader IPv6 pseudo header [in] buffer Multi-part buffer containing the Router Advertisement message [in] offset Offset to the first byte of the message [in] hopLimit Hop Limit field from IPv6 header
| error_t ndpResolve | ( | NetInterface * | interface, |
| const Ipv6Addr * | ipAddr, | ||
| MacAddr * | macAddr | ||
| ) |
| error_t ndpSendNeighborAdv | ( | NetInterface * | interface, |
| const Ipv6Addr * | targetIpAddr, | ||
| const Ipv6Addr * | destIpAddr | ||
| ) |
| error_t ndpSendNeighborSol | ( | NetInterface * | interface, |
| const Ipv6Addr * | targetIpAddr, | ||
| bool_t | multicast | ||
| ) |
| error_t ndpSendRedirect | ( | NetInterface * | interface, |
| const Ipv6Addr * | targetAddr, | ||
| const NetBuffer * | ipPacket, | ||
| size_t | ipPacketOffset | ||
| ) |
Send a Redirect message.
- Parameters:
-
[in] interface Underlying network interface [in] targetAddr IPv6 address that is a better first hop to use for the destination address [in] ipPacket Multi-part buffer that holds the IPv6 packet that triggered the sending of the Redirect [in] ipPacketOffset Offset to the first byte of the IPv6 packet
- Returns:
- Error code
| error_t ndpSendRouterSol | ( | NetInterface * | interface ) |
Generated on Tue Jul 12 2022 17:10:21 by
1.7.2