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.  More...
  | 
|   | 
| 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.  More...
  | 
|   | 
| 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.  More...
  | 
|   | 
| 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.  More...
  | 
|   | 
◆ 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