|
lwIP 2.0.0
lwIP 2.0.0
LightweightIPstack
|
#include "lwip/opt.h"#include "lwip/pbuf.h"#include "lwip/ip_addr.h"#include "lwip/netif.h"#include "lwip/icmp6.h"Data Structures | |
| struct | icmp_echo_hdr |
Macros | |
| #define | ICMPH_TYPE_SET(hdr, t) ((hdr)->type = (t)) |
Enumerations |
Functions | |
| void | icmp_input (struct pbuf *p, struct netif *inp) |
| void | icmp_dest_unreach (struct pbuf *p, enum icmp_dur_type t) |
| void | icmp_time_exceeded (struct pbuf *p, enum icmp_te_type t) |
ICMP API
| #define ICMPH_TYPE_SET | ( | hdr, | |
| t | |||
| ) | ((hdr)->type = (t)) |
Combines type and code to an u16_t
| enum icmp_dur_type |
| enum icmp_te_type |
| void icmp_dest_unreach | ( | struct pbuf * | p, |
| enum icmp_dur_type | t | ||
| ) |
Send an icmp 'destination unreachable' packet, called from ip_input() if the transport layer protocol is unknown and from udp_input() if the local port is not bound.
| p | the input packet for which the 'unreachable' should be sent, p->payload pointing to the IP header |
| t | type of the 'unreachable' packet |
Processes ICMP input packets, called from ip_input().
Currently only processes icmp echo requests and sends out the echo response.
| p | the icmp echo request packet, p->payload pointing to the icmp header |
| inp | the netif on which this packet was received |
| void icmp_time_exceeded | ( | struct pbuf * | p, |
| enum icmp_te_type | t | ||
| ) |
Send a 'time exceeded' packet, called from ip_forward() if TTL is 0.
| p | the input packet for which the 'time exceeded' should be sent, p->payload pointing to the IP header |
| t | type of the 'time exceeded' packet |