Contiki 3.x
|
ICMPv6 echo request and error messages (RFC 4443)More...
#include "net/ip/uip.h"
Go to the source code of this file.
Data Structures | |
struct | uip_icmp6_error |
ICMPv6 Error message constant part. More... | |
Macros | |
#define | UIP_ICMP6_ECHO_REQUEST_LEN 4 |
Echo Request constant part length. | |
#define | UIP_ICMP6_ERROR_LEN 4 |
ICMPv6 Error message constant part length. | |
ICMPv6 message types | |
#define | ICMP6_DST_UNREACH 1 |
dest unreachable | |
#define | ICMP6_PACKET_TOO_BIG 2 |
packet too big | |
#define | ICMP6_TIME_EXCEEDED 3 |
time exceeded | |
#define | ICMP6_PARAM_PROB 4 |
ip6 header bad | |
#define | ICMP6_ECHO_REQUEST 128 |
Echo request. | |
#define | ICMP6_ECHO_REPLY 129 |
Echo reply. | |
#define | ICMP6_RS 133 |
Router Solicitation. | |
#define | ICMP6_RA 134 |
Router Advertisement. | |
#define | ICMP6_NS 135 |
Neighbor Solicitation. | |
#define | ICMP6_NA 136 |
Neighbor advertisement. | |
#define | ICMP6_REDIRECT 137 |
Redirect. | |
#define | ICMP6_RPL 155 |
RPL. | |
#define | ICMP6_PRIV_EXP_100 100 |
Private Experimentation. | |
#define | ICMP6_PRIV_EXP_101 101 |
Private Experimentation. | |
#define | ICMP6_PRIV_EXP_200 200 |
Private Experimentation. | |
#define | ICMP6_PRIV_EXP_201 201 |
Private Experimentation. | |
#define | ICMP6_ROLL_TM ICMP6_PRIV_EXP_200 |
ROLL Trickle Multicast. | |
ICMPv6 Destination Unreachable message codes | |
#define | ICMP6_DST_UNREACH_NOROUTE 0 |
no route to destination | |
#define | ICMP6_DST_UNREACH_ADMIN 1 |
administratively prohibited | |
#define | ICMP6_DST_UNREACH_NOTNEIGHBOR 2 |
not a neighbor(obsolete) | |
#define | ICMP6_DST_UNREACH_BEYONDSCOPE 2 |
beyond scope of source address | |
#define | ICMP6_DST_UNREACH_ADDR 3 |
address unreachable | |
#define | ICMP6_DST_UNREACH_NOPORT 4 |
port unreachable | |
ICMPv6 Time Exceeded message codes | |
#define | ICMP6_TIME_EXCEED_TRANSIT 0 |
ttl==0 in transit | |
#define | ICMP6_TIME_EXCEED_REASSEMBLY 1 |
ttl==0 in reass | |
ICMPv6 Parameter Problem message codes | |
#define | ICMP6_PARAMPROB_HEADER 0 |
erroneous header field | |
#define | ICMP6_PARAMPROB_NEXTHEADER 1 |
unrecognized next header | |
#define | ICMP6_PARAMPROB_OPTION 2 |
unrecognized option | |
Typedefs | |
typedef struct uip_icmp6_error | uip_icmp6_error |
ICMPv6 Error message constant part. | |
ICMPv6 RFC4443 Message processing and sending | |
#define | UIP_ICMP6_INPUT_SUCCESS 0 |
#define | UIP_ICMP6_INPUT_ERROR 1 |
#define | UIP_ICMP6_HANDLER_CODE_ANY 0xFF /* Handle all codes for this type */ |
#define | UIP_ICMP6_HANDLER(name, type, code, func) static uip_icmp6_input_handler_t name = { NULL, type, code, func } |
typedef void(* | uip_icmp6_echo_reply_callback_t )(uip_ipaddr_t *source, uint8_t ttl, uint8_t *data, uint16_t datalen) |
typedef struct uip_icmp6_input_handler | uip_icmp6_input_handler_t |
void | uip_icmp6_error_output (uint8_t type, uint8_t code, uint32_t param) |
Send an icmpv6 error message. More... | |
void | uip_icmp6_send (const uip_ipaddr_t *dest, int type, int code, int payload_len) |
Send an icmpv6 message. More... | |
void | uip_icmp6_echo_reply_callback_add (struct uip_icmp6_echo_reply_notification *n, uip_icmp6_echo_reply_callback_t c) |
Add a callback function for ping replies. More... | |
void | uip_icmp6_echo_reply_callback_rm (struct uip_icmp6_echo_reply_notification *n) |
Remove a callback function for ping replies. More... | |
uint8_t | uip_icmp6_input (uint8_t type, uint8_t icode) |
Handle an incoming ICMPv6 message. More... | |
void | uip_icmp6_register_input_handler (uip_icmp6_input_handler_t *handler) |
Register a handler which can handle a specific ICMPv6 message type. More... | |
void | uip_icmp6_init (void) |
Initialise the uIP ICMPv6 core. | |
ICMPv6 echo request and error messages (RFC 4443)
Definition in file uip-icmp6.h.