STM32F7 Ethernet interface for nucleo STM32F767

Embed: (wiki syntax)

« Back to documentation index

icmp.h File Reference

icmp.h File Reference

ICMP API. More...

Go to the source code of this file.

Enumerations

enum  icmp_dur_type {
  ICMP_DUR_NET = 0, ICMP_DUR_HOST = 1, ICMP_DUR_PROTO = 2, ICMP_DUR_PORT = 3,
  ICMP_DUR_FRAG = 4, ICMP_DUR_SR = 5
}
 

ICMP destination unreachable codes.

More...
enum  icmp_te_type { ICMP_TE_TTL = 0, ICMP_TE_FRAG = 1 }
 

ICMP time exceeded codes.

More...

Functions

void icmp_input (struct pbuf *p, struct netif *inp)
 Processes ICMP input packets, called from ip_input().
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.
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.

Detailed Description

ICMP API.

Definition in file icmp.h.


Enumeration Type Documentation

ICMP destination unreachable codes.

Enumerator:
ICMP_DUR_NET 

net unreachable

ICMP_DUR_HOST 

host unreachable

ICMP_DUR_PROTO 

protocol unreachable

ICMP_DUR_PORT 

port unreachable

ICMP_DUR_FRAG 

fragmentation needed and DF set

ICMP_DUR_SR 

source route failed

Definition at line 55 of file icmp.h.

ICMP time exceeded codes.

Enumerator:
ICMP_TE_TTL 

time to live exceeded in transit

ICMP_TE_FRAG 

fragment reassembly time exceeded

Definition at line 71 of file icmp.h.


Function Documentation

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.

Parameters:
pthe input packet for which the 'unreachable' should be sent, p->payload pointing to the IP header
ttype of the 'unreachable' packet

Definition at line 301 of file lwip_icmp.c.

void icmp_input ( struct pbuf p,
struct netif inp 
)

Processes ICMP input packets, called from ip_input().

Currently only processes icmp echo requests and sends out the echo response.

Parameters:
pthe icmp echo request packet, p->payload pointing to the icmp header
inpthe netif on which this packet was received

Definition at line 80 of file lwip_icmp.c.

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.

Parameters:
pthe input packet for which the 'time exceeded' should be sent, p->payload pointing to the IP header
ttype of the 'time exceeded' packet

Definition at line 316 of file lwip_icmp.c.