1 /* SPDX-License-Identifier: BSD-3-Clause 2 * Copyright(c) 1982, 1986, 1990, 1993 3 * The Regents of the University of California. 4 * Copyright(c) 2013 6WIND S.A. 5 * All rights reserved. 6 */ 7 8 #ifndef _RTE_ICMP_H_ 9 #define _RTE_ICMP_H_ 10 11 /** 12 * @file 13 * 14 * ICMP-related defines 15 */ 16 17 #include <stdint.h> 18 19 #include <rte_byteorder.h> 20 21 #ifdef __cplusplus 22 extern "C" { 23 #endif 24 25 /** 26 * ICMP Header 27 */ 28 struct rte_icmp_hdr { 29 uint8_t icmp_type; /* ICMP packet type. */ 30 uint8_t icmp_code; /* ICMP packet code. */ 31 rte_be16_t icmp_cksum; /* ICMP packet checksum. */ 32 rte_be16_t icmp_ident; /* ICMP packet identifier. */ 33 rte_be16_t icmp_seq_nb; /* ICMP packet sequence number. */ 34 } __rte_packed; 35 36 /* ICMP packet types */ 37 #define RTE_IP_ICMP_ECHO_REPLY 0 38 #define RTE_IP_ICMP_ECHO_REQUEST 8 39 40 #ifdef __cplusplus 41 } 42 #endif 43 44 #endif /* RTE_ICMP_H_ */ 45