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.
icmpv6.c File Reference
ICMPv6 (Internet Control Message Protocol Version 6) More...
Go to the source code of this file.
Functions | |
error_t | icmpv6EnableMulticastEchoRequest (NetInterface *interface, bool_t enable) |
Enable support for multicast Echo Request messages. | |
void | icmpv6ProcessMessage (NetInterface *interface, Ipv6PseudoHeader *pseudoHeader, const NetBuffer *buffer, size_t offset, uint8_t hopLimit) |
Incoming ICMPv6 message processing. | |
void | icmpv6ProcessDestUnreachable (NetInterface *interface, Ipv6PseudoHeader *pseudoHeader, const NetBuffer *buffer, size_t offset) |
Destination Unreachable message processing. | |
void | icmpv6ProcessPacketTooBig (NetInterface *interface, Ipv6PseudoHeader *pseudoHeader, const NetBuffer *buffer, size_t offset) |
Packet Too Big message processing. | |
void | icmpv6ProcessEchoRequest (NetInterface *interface, Ipv6PseudoHeader *requestPseudoHeader, const NetBuffer *request, size_t requestOffset) |
Echo Request message processing. | |
error_t | icmpv6SendErrorMessage (NetInterface *interface, uint8_t type, uint8_t code, uint32_t parameter, const NetBuffer *ipPacket, size_t ipPacketOffset) |
Send an ICMPv6 Error message. | |
void | icmpv6DumpMessage (const Icmpv6Header *message) |
Dump ICMPv6 message for debugging purpose. | |
void | icmpv6DumpDestUnreachableMessage (const Icmpv6DestUnreachableMessage *message) |
Dump ICMPv6 Destination Unreachable message. | |
void | icmpv6DumpPacketTooBigMessage (const Icmpv6PacketTooBigMessage *message) |
Dump ICMPv6 Packet Too Big message. | |
void | icmpv6DumpEchoMessage (const Icmpv6EchoMessage *message) |
Dump ICMPv6 Echo Request or Echo Reply message. | |
void | icmpv6DumpErrorMessage (const Icmpv6ErrorMessage *message) |
Dump generic ICMPv6 Error message. |
Detailed Description
ICMPv6 (Internet Control Message Protocol Version 6)
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.
Description
ICMPv6 is used by IPv6 nodes to report errors encountered in processing packets, and to perform other Internet-layer functions. ICMPv6 is an integral part of IPv6 and must be fully implemented by every IPv6 node. Refer to the RFC 2463 for more details
- Version:
- 1.7.6
Definition in file icmpv6.c.
Function Documentation
void icmpv6DumpDestUnreachableMessage | ( | const Icmpv6DestUnreachableMessage * | message ) |
void icmpv6DumpEchoMessage | ( | const Icmpv6EchoMessage * | message ) |
void icmpv6DumpErrorMessage | ( | const Icmpv6ErrorMessage * | message ) |
void icmpv6DumpMessage | ( | const Icmpv6Header * | message ) |
void icmpv6DumpPacketTooBigMessage | ( | const Icmpv6PacketTooBigMessage * | message ) |
error_t icmpv6EnableMulticastEchoRequest | ( | NetInterface * | interface, |
bool_t | enable | ||
) |
Enable support for multicast Echo Request messages.
- Parameters:
-
[in] interface Underlying network interface [in] enable When the flag is set to TRUE, the host will respond to multicast Echo Requests. When the flag is set to FALSE, incoming Echo Request messages destined to a multicast address will be dropped
- Returns:
- Error code
void icmpv6ProcessDestUnreachable | ( | NetInterface * | interface, |
Ipv6PseudoHeader * | pseudoHeader, | ||
const NetBuffer * | buffer, | ||
size_t | offset | ||
) |
void icmpv6ProcessEchoRequest | ( | NetInterface * | interface, |
Ipv6PseudoHeader * | requestPseudoHeader, | ||
const NetBuffer * | request, | ||
size_t | requestOffset | ||
) |
Echo Request message processing.
- Parameters:
-
[in] interface Underlying network interface [in] requestPseudoHeader IPv6 pseudo header [in] request Multi-part buffer containing the incoming ICMPv6 message [in] requestOffset Offset to the first byte of the ICMPv6 message
void icmpv6ProcessMessage | ( | NetInterface * | interface, |
Ipv6PseudoHeader * | pseudoHeader, | ||
const NetBuffer * | buffer, | ||
size_t | offset, | ||
uint8_t | hopLimit | ||
) |
Incoming ICMPv6 message processing.
- Parameters:
-
[in] interface Underlying network interface [in] pseudoHeader IPv6 pseudo header [in] buffer Multi-part buffer containing the incoming ICMPv6 message [in] offset Offset to the first byte of the ICMPv6 message [in] hopLimit Hop Limit field from IPv6 header
void icmpv6ProcessPacketTooBig | ( | NetInterface * | interface, |
Ipv6PseudoHeader * | pseudoHeader, | ||
const NetBuffer * | buffer, | ||
size_t | offset | ||
) |
error_t icmpv6SendErrorMessage | ( | NetInterface * | interface, |
uint8_t | type, | ||
uint8_t | code, | ||
uint32_t | parameter, | ||
const NetBuffer * | ipPacket, | ||
size_t | ipPacketOffset | ||
) |
Send an ICMPv6 Error message.
- Parameters:
-
[in] interface Underlying network interface [in] type Message type [in] code Specific message code [in] parameter Specific message parameter [in] ipPacket Multi-part buffer that holds the invoking IPv6 packet [in] ipPacketOffset Offset to the first byte of the IPv6 packet
- Returns:
- Error code
Generated on Tue Jul 12 2022 17:10:20 by
