PING_RESPONSE_IP4,
} ping_response_type_t;
+#define foreach_ip46_ping_result \
+ _ (OK, "OK") \
+ _ (ALLOC_FAIL, "packet allocation failed") \
+ _ (NO_INTERFACE, "no egress interface") \
+ _ (NO_TABLE, "no IPv6 Table for lookup") \
+ _ (NO_SRC_ADDRESS, "no source address for egress interface") \
+
typedef enum
{
- SEND_PING_OK = 0,
- SEND_PING_ALLOC_FAIL,
- SEND_PING_NO_INTERFACE,
- SEND_PING_NO_TABLE,
+#define _(v, s) SEND_PING_##v,
+ foreach_ip46_ping_result
+#undef _
} send_ip46_ping_result_t;
/*
u16 icmp_id;
u16 curr_seq;
uword cli_process_id;
+ uword cli_thread_index;
} ping_run_t;
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