X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fip%2Fping.h;h=3f7488fbeac468bb4b58e7d8d19c5f5c37574048;hb=d7f58cc4f0ab6d98dc57da52a8665b495493049e;hp=8f41f45c5f9abb644b4203022b11deb30d4b22d9;hpb=7cd468a3d7dee7d6c92f69a0bb7061ae208ec727;p=vpp.git diff --git a/src/vnet/ip/ping.h b/src/vnet/ip/ping.h index 8f41f45c5f9..3f7488fbeac 100644 --- a/src/vnet/ip/ping.h +++ b/src/vnet/ip/ping.h @@ -32,6 +32,7 @@ typedef enum SEND_PING_ALLOC_FAIL, SEND_PING_NO_INTERFACE, SEND_PING_NO_TABLE, + SEND_PING_NO_SRC_ADDRESS, } send_ip46_ping_result_t; /* @@ -42,6 +43,7 @@ typedef struct ping_run_t u16 icmp_id; u16 curr_seq; uword cli_process_id; + uword cli_thread_index; } ping_run_t; typedef struct ping_main_t @@ -54,31 +56,36 @@ typedef struct ping_main_t ping_run_t *ping_run_by_icmp_id; } ping_main_t; -ping_main_t ping_main; +extern ping_main_t ping_main; #define PING_DEFAULT_DATA_LEN 60 #define PING_DEFAULT_INTERVAL 1.0 -#define PING_MAXIMUM_DATA_SIZE 2000 +#define PING_MAXIMUM_DATA_SIZE (VLIB_BUFFER_DATA_SIZE - sizeof(ip6_header_t) - sizeof(icmp46_header_t) - offsetof(icmp46_echo_request_t, data)) -typedef CLIB_PACKED (struct - { - u16 id; - u16 seq; f64 time_sent; u8 data[PING_MAXIMUM_DATA_SIZE]; - }) icmp46_echo_request_t; +/* *INDENT-OFF* */ +typedef CLIB_PACKED (struct { + u16 id; + u16 seq; + f64 time_sent; + u8 data[0]; +}) icmp46_echo_request_t; + + +typedef CLIB_PACKED (struct { + ip6_header_t ip6; + icmp46_header_t icmp; + icmp46_echo_request_t icmp_echo; +}) icmp6_echo_request_header_t; -typedef CLIB_PACKED (struct - { - ip6_header_t ip6; - icmp46_header_t icmp; icmp46_echo_request_t icmp_echo; - }) icmp6_echo_request_header_t; +typedef CLIB_PACKED (struct { + ip4_header_t ip4; + icmp46_header_t icmp; + icmp46_echo_request_t icmp_echo; +}) icmp4_echo_request_header_t; -typedef CLIB_PACKED (struct - { - ip4_header_t ip4; - icmp46_header_t icmp; icmp46_echo_request_t icmp_echo; - }) icmp4_echo_request_header_t; +/* *INDENT-ON* */ typedef struct