15 #ifndef __included_vppjni_h__ 16 #define __included_vppjni_h__ 34 u8 interface_name[64];
185 u8 build_directory[256];
218 return my_context_id;
223 while (__sync_lock_test_and_set (&jm->
lock, 1))
243 return VNET_API_ERROR_NOT_CONNECTED;
247 #define __PACKED(x) x __attribute__((packed)) 249 typedef __PACKED(
struct _vl_api_generic_reply {
254 }) vl_api_generic_reply_t;
262 jm->result_ready = 0; \ 263 mp = vl_msg_api_alloc(sizeof(*mp)); \ 264 memset (mp, 0, sizeof (*mp)); \ 265 mp->_vl_msg_id = ntohs (VL_API_##T); \ 266 mp->client_index = jm->my_client_index; \ 271 jm->result_ready = 0; \ 272 mp = vl_msg_api_alloc(sizeof(*mp)+(n)); \ 273 memset (mp, 0, sizeof (*mp)); \ 274 mp->_vl_msg_id = ntohs (VL_API_##T); \ 275 mp->client_index = jm->my_client_index; \ 280 #define S (vl_msg_api_send_shmem (jm->vl_input_queue, (u8 *)&mp)) 285 timeout = vppjni_time_now (jm) + 1.0; \ 287 while (vppjni_time_now (jm) < timeout) { \ 288 if (jm->result_ready == 1) { \ 289 return (jm->retval); \ 298 timeout = vppjni_time_now (jm) + 1.0; \ 301 while (vppjni_time_now (jm) < timeout) { \ 302 if (jm->result_ready == 1) { \
sw_interface_details_t * sw_if_table
volatile u32 context_id_sent
volatile u8 * shmem_result
ipv4_address_t * ipv4_addresses
vxlan_tunnel_details_t * vxlan_tunnel_details
pthread_key_t cleanup_rx_thread_key
vppjni_main_t vppjni_main
static void vppjni_unlock(vppjni_main_t *jm)
static int vppjni_sanity_check(vppjni_main_t *jm)
sw_interface_stats_t * sw_if_stats_by_sw_if_index
void vl_api_generic_reply_handler(vl_api_generic_reply_t *mp)
always_inline f64 clib_time_now(clib_time_t *c)
static void vppjni_lock(vppjni_main_t *jm, u32 tag)
static f64 vppjni_time_now(vppjni_main_t *jm)
volatile u32 result_ready
volatile u32 context_id_received
uword * sw_if_config_by_sw_if_index
u32 * sw_if_dump_if_indices
static u32 vppjni_get_context_id(vppjni_main_t *jm)
uword * sw_if_index_by_interface_name
sw_interface_subif_t * sw_if_subif_table
unix_shared_memory_queue_t * vl_input_queue
#define CLIB_MEMORY_BARRIER()
ipv6_address_t * ipv6_addresses
struct _unix_shared_memory_queue unix_shared_memory_queue_t