X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvat%2Fvat.h;h=ddb4644848ad8af74e8a51228e3021b41a0ee016;hb=90a63988fa01685626b6d6a01b79ea5370f7fbac;hp=3d7d96ae566131d05dee3d2beb9fdbe613f40f04;hpb=fe6bdfd84573cd8813a211f9094ee734f088ce16;p=vpp.git diff --git a/src/vat/vat.h b/src/vat/vat.h index 3d7d96ae566..ddb4644848a 100644 --- a/src/vat/vat.h +++ b/src/vat/vat.h @@ -15,13 +15,18 @@ #ifndef __included_vat_h__ #define __included_vat_h__ +#define _GNU_SOURCE #include #include +#include +#include +#include #include #include #include #include #include +#include #include #include #include @@ -95,6 +100,22 @@ typedef struct u64 bytes; } ip6_fib_counter_t; +typedef struct +{ + struct in_addr address; + vnet_link_t linkt; + u64 packets; + u64 bytes; +} ip4_nbr_counter_t; + +typedef struct +{ + struct in6_addr address; + vnet_link_t linkt; + u64 packets; + u64 bytes; +} ip6_nbr_counter_t; + typedef struct { /* vpe input queue */ @@ -131,7 +152,6 @@ typedef struct /* Errors by number */ uword *error_string_by_error_number; - /* Main thread can spin (w/ timeout) here if needed */ u32 async_mode; u32 async_errors; @@ -139,10 +159,11 @@ typedef struct volatile i32 retval; volatile u32 sw_if_index; volatile u8 *shmem_result; - volatile u8 *cmd_reply; + u8 *cmd_reply; /* our client index */ u32 my_client_index; + int client_index_invalid; /* Time is of the essence... */ clib_time_t clib_time; @@ -185,6 +206,11 @@ typedef struct u32 *ip4_fib_counters_vrf_id_by_index; ip6_fib_counter_t **ip6_fib_counters; u32 *ip6_fib_counters_vrf_id_by_index; + ip4_nbr_counter_t **ip4_nbr_counters; + ip6_nbr_counter_t **ip6_nbr_counters; + + socket_client_main_t *socket_client_main; + u8 *socket_name; /* Convenience */ vlib_main_t *vlib_main; @@ -211,8 +237,12 @@ uword unformat_ethernet_type_host_byte_order (unformat_input_t * input, va_list * args); uword unformat_ip6_address (unformat_input_t * input, va_list * args); u8 *format_ip4_address (u8 * s, va_list * args); +u8 *format_ip6_address (u8 * s, va_list * args); +u8 *format_ip46_address (u8 * s, va_list * args); u8 *format_ethernet_address (u8 * s, va_list * args); +int vat_socket_connect (vat_main_t * vam); + #if VPP_API_TEST_BUILTIN #define print api_cli_output void api_cli_output (void *, const char *fmt, ...);