ICMPv6 echo request and reply.
More...
ICMPv6 echo request and reply.
|
file | echo.h |
| ICMPv6 echo message definitions.
|
|
|
gnrc_pktsnip_t * | gnrc_icmpv6_echo_build (uint8_t type, uint16_t id, uint16_t seq, uint8_t *data, size_t data_len) |
| Builds an ICMPv6 echo message of type type for sending.
|
|
void | gnrc_icmpv6_echo_req_handle (gnrc_netif_t *netif, ipv6_hdr_t *ipv6_hdr, icmpv6_echo_t *echo, uint16_t len) |
| ICMPv6 echo request handler.
|
|
int | gnrc_icmpv6_echo_send (const gnrc_netif_t *netif, const ipv6_addr_t *addr, uint16_t id, uint16_t seq, uint8_t ttl, size_t len) |
| Send out ICMPv6 echo request.
|
|
int | gnrc_icmpv6_echo_rsp_handle (gnrc_pktsnip_t *pkt, size_t len, gnrc_icmpv6_echo_rsp_handle_cb_t cb, void *ctx) |
| Parse ICMPv6 echo response.
|
|
◆ gnrc_icmpv6_echo_rsp_handle_cb_t
typedef int(* gnrc_icmpv6_echo_rsp_handle_cb_t) (gnrc_pktsnip_t *pkt, int corrupt, uint32_t rtt_us, void *ctx) |
ICMPv6 echo response callback.
- Parameters
-
[in] | pkt | Packet containing the ICMPv6 response |
[in] | corrupt | Offset of corrupt payload, -1 if no corruption detected |
[in] | rtt_us | round-trip-time in µs (0 if this information is not available) |
[in] | ctx | User supplied context |
- Returns
- 0 on success
-
<0 on error
Definition at line 90 of file echo.h.
◆ gnrc_icmpv6_echo_build()
gnrc_pktsnip_t * gnrc_icmpv6_echo_build |
( |
uint8_t |
type, |
|
|
uint16_t |
id, |
|
|
uint16_t |
seq, |
|
|
uint8_t * |
data, |
|
|
size_t |
data_len |
|
) |
| |
Builds an ICMPv6 echo message of type type
for sending.
- Parameters
-
[in] | type | Type of the echo message. Expected to be either ICMPV6_ECHO_REQ or ICMPV6_ECHO_REP. |
[in] | id | ID for the echo message in host byte-order |
[in] | seq | Sequence number for the echo message in host byte-order |
[in] | data | Payload for the echo message |
[in] | data_len | Length of data |
- Returns
- The echo message on success
-
NULL, on failure
◆ gnrc_icmpv6_echo_req_handle()
ICMPv6 echo request handler.
- Parameters
-
[in] | netif | The interface the echo request was received on. |
[in] | ipv6_hdr | The IPv6 header of the echo request. |
[in] | echo | The Echo Request message. |
[in] | len | Length of the echo request message (ipv6_hdr_t::len of ipv6_hdr minus length of extension headers). |
◆ gnrc_icmpv6_echo_rsp_handle()
Parse ICMPv6 echo response.
- Parameters
-
[in] | pkt | Incoming ICMPv6 packet |
[in] | len | Expected echo response payload length |
[in] | cb | Callback function to execute |
[in] | ctx | Callback function context |
- Returns
- 0 on success
-
<0 on error
◆ gnrc_icmpv6_echo_send()
int gnrc_icmpv6_echo_send |
( |
const gnrc_netif_t * |
netif, |
|
|
const ipv6_addr_t * |
addr, |
|
|
uint16_t |
id, |
|
|
uint16_t |
seq, |
|
|
uint8_t |
ttl, |
|
|
size_t |
len |
|
) |
| |
Send out ICMPv6 echo request.
- Parameters
-
[in] | netif | The interface the echo request should be sent on. |
[in] | addr | The destination address of the echo request |
[in] | id | ID for the echo message in host byte-order |
[in] | seq | Sequence number for the echo message in host byte-order |
[in] | ttl | Hop limit of the echo request |
[in] | len | Length of the payload |
- Returns
- 0 on success
-
<0 on error