X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Frmr%2Fsi%2Finclude%2Frmr_si_private.h;h=ddc9c3f06ac2a5dda8d5cda74b042c6695f21ef5;hb=refs%2Fchanges%2F23%2F3123%2F2;hp=8c6208251fd54a8b82b34ef1df0688bc828608aa;hpb=c1658934f329e02a704dd5ec94b38dff293b09ee;p=ric-plt%2Flib%2Frmr.git diff --git a/src/rmr/si/include/rmr_si_private.h b/src/rmr/si/include/rmr_si_private.h index 8c62082..ddc9c3f 100644 --- a/src/rmr/si/include/rmr_si_private.h +++ b/src/rmr/si/include/rmr_si_private.h @@ -140,13 +140,18 @@ struct uta_ctx { pthread_t rtc_th; // thread info for the rtc listener pthread_t mtc_th; // thread info for the multi-thread call receive process + // added for route manager request/states + rmr_whid_t rtg_whid; // wormhole id to the route manager for acks/requests + char* table_id; // table ID of the route table load in progress + // added for SI95 support si_ctx_t* si_ctx; // the socket context int nrivers; // allocated rivers river_t* rivers; // inbound flows (index is the socket fd) int max_ibm; // max size of an inbound message (river accum alloc size) void* zcb_mring; // zero copy buffer mbuf ring - void* fd2ep; // the symtab mapping file des to endpoints for cleanup on disconnect + void* fd2ep; // the symtab mapping file des to endpoints for cleanup on disconnect + pthread_mutex_t *fd2ep_gate; // we must gate add/deletes to the fd2 symtab }; typedef uta_ctx_t uta_ctx; @@ -163,7 +168,8 @@ static void free_ctx( uta_ctx_t* ctx ); // --- rt table things --------------------------- static void uta_ep_failed( endpoint_t* ep ); -static int uta_link2( si_ctx_t* si_ctx, endpoint_t* ep ); +static int uta_link2( uta_ctx_t *ctx, endpoint_t* ep ); + static int rt_link2_ep( void* vctx, endpoint_t* ep ); static rtable_ent_t* uta_get_rte( route_table_t *rt, int sid, int mtype, int try_alt ); static inline int xlate_si_state( int state, int def_state ); @@ -180,7 +186,6 @@ static rmr_mbuf_t* alloc_mbuf( uta_ctx_t* ctx, int state ); static void ref_tpbuf( rmr_mbuf_t* msg, size_t alen ) ; static inline rmr_mbuf_t* clone_msg( rmr_mbuf_t* old_msg ); static rmr_mbuf_t* rcv_msg( uta_ctx_t* ctx, rmr_mbuf_t* old_msg ); -static void* rcv_payload( uta_ctx_t* ctx, rmr_mbuf_t* old_msg ); static inline rmr_mbuf_t* realloc_msg( rmr_mbuf_t* old_msg, int tr_len ); static rmr_mbuf_t* send2ep( uta_ctx_t* ctx, endpoint_t* ep, rmr_mbuf_t* msg );