Changeset 770:90d705524ce0
- Timestamp:
- 01/20/10 04:50:29 (8 months ago)
- Branch:
- default
- Files:
-
- 3 added
- 7 removed
- 31 modified
-
configure.ac (modified) (4 diffs)
-
opensaf.spec.in (modified) (1 diff)
-
osaf/cli/services/Makefile.am (modified) (1 diff)
-
osaf/services/infrastructure/dtsv/dts/Makefile.am (modified) (3 diffs)
-
osaf/services/infrastructure/dtsv/dts/dts_api.c (modified) (4 diffs)
-
osaf/services/infrastructure/dtsv/dts/dts_cbop.c (modified) (3 diffs)
-
osaf/services/infrastructure/dtsv/dts/dts_chkop.c (modified) (7 diffs)
-
osaf/services/infrastructure/dtsv/dts/dts_ckpt_dec.c (modified) (2 diffs)
-
osaf/services/infrastructure/dtsv/dts/dts_ckpt_edu.c (modified) (2 diffs)
-
osaf/services/infrastructure/dtsv/dts/dts_ckpt_updt.c (modified) (9 diffs)
-
osaf/services/infrastructure/dtsv/dts/dts_dl_api.c (modified) (1 diff)
-
osaf/services/infrastructure/dtsv/dts/dts_glpolc.c (deleted)
-
osaf/services/infrastructure/dtsv/dts/dts_imm.c (added)
-
osaf/services/infrastructure/dtsv/dts/dts_log.c (modified) (1 diff)
-
osaf/services/infrastructure/dtsv/dts/dts_logpolc.c (added)
-
osaf/services/infrastructure/dtsv/dts/dts_mds.c (modified) (5 diffs)
-
osaf/services/infrastructure/dtsv/dts/dts_mib.c (deleted)
-
osaf/services/infrastructure/dtsv/dts/dts_nodepolc.c (deleted)
-
osaf/services/infrastructure/dtsv/dts/dts_pvt.c (modified) (36 diffs)
-
osaf/services/infrastructure/dtsv/dts/dts_svcpolc.c (deleted)
-
osaf/services/infrastructure/dtsv/include/Makefile.am (modified) (2 diffs)
-
osaf/services/infrastructure/dtsv/include/dta.h (modified) (1 diff)
-
osaf/services/infrastructure/dtsv/include/dta_pvt.h (modified) (1 diff)
-
osaf/services/infrastructure/dtsv/include/dts.h (modified) (2 diffs)
-
osaf/services/infrastructure/dtsv/include/dts_ckpt_updt.h (modified) (1 diff)
-
osaf/services/infrastructure/dtsv/include/dts_imm.h (added)
-
osaf/services/infrastructure/dtsv/include/dts_log.h (modified) (3 diffs)
-
osaf/services/infrastructure/dtsv/include/dts_mapi.h (deleted)
-
osaf/services/infrastructure/dtsv/include/dts_pvt.h (modified) (14 diffs)
-
osaf/services/infrastructure/dtsv/include/dtsv_msg.h (modified) (1 diff)
-
osaf/services/infrastructure/dtsv/include/dtsvcli.h (modified) (2 diffs)
-
osaf/services/infrastructure/dtsv/logstr/dts_logstr.c (modified) (1 diff)
-
osaf/services/saf/immsv/config/imm.xml (modified) (3 diffs)
-
osaf/snmp/miblib/Makefile.am (modified) (1 diff)
-
osaf/snmp/mibs/ESMI-NCS-DTSV-MIB (deleted)
-
osaf/snmp/mibs/Makefile.mibs (modified) (2 diffs)
-
osaf/snmp/mibs/NCS-DTSV-MIB (deleted)
-
osaf/snmp/pssv/Makefile.am (modified) (1 diff)
-
osaf/snmp/subagt/Makefile.am (modified) (2 diffs)
-
osaf/snmp/subagt/services/Makefile.am (modified) (1 diff)
-
osaf/snmp/subagt/subagt_amf.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
configure.ac
r761 r770 622 622 osaf/cli/services/Makefile 623 623 osaf/cli/services/avsv/Makefile 624 osaf/cli/services/dtsv/Makefile625 624 osaf/cli/services/psr/Makefile 626 625 osaf/snmp/Makefile … … 632 631 osaf/snmp/miblib/avsv/Makefile 633 632 osaf/snmp/miblib/avsv/avm/Makefile 634 osaf/snmp/miblib/dtsv/Makefile635 osaf/snmp/miblib/dtsv/dts/Makefile636 633 osaf/snmp/miblib/pssv/Makefile 637 634 osaf/snmp/miblib/pssv/pss/Makefile … … 641 638 osaf/snmp/pssv/avsv/Makefile 642 639 osaf/snmp/pssv/avsv/avm/Makefile 643 osaf/snmp/pssv/dtsv/Makefile644 640 osaf/snmp/scripts/Makefile 645 641 osaf/snmp/scripts/ncs_snmpsubagt_clean … … 654 650 osaf/snmp/subagt/services/avsv/Makefile 655 651 osaf/snmp/subagt/services/avsv/avm/Makefile 656 osaf/snmp/subagt/services/dtsv/Makefile657 652 osaf/snmp/subagt/services/pssv/Makefile 658 653 osaf/libs/Makefile -
opensaf.spec.in
r761 r770 391 391 %{_pkglibdir}/libcli_logstr.so.* 392 392 %{_pkglibdir}/libcpsv_logstr.so.* 393 %{_pkglibdir}/libdts_clicef.so.*394 393 %{_pkglibdir}/libdts_logstr.so.* 395 %{_pkglibdir}/libdts_pssv.so.*396 %{_pkglibdir}/libdtsv_subagt.so.*397 394 %{_pkglibdir}/libedsv_logstr.so.* 398 395 %{_pkglibdir}/libglsv_logstr.so.* -
osaf/cli/services/Makefile.am
r621 r770 19 19 MAINTAINERCLEANFILES = Makefile.in 20 20 21 SUBDIRS = avsv dtsvpsr21 SUBDIRS = avsv psr -
osaf/services/infrastructure/dtsv/dts/Makefile.am
r741 r770 27 27 $(AM_CPPFLAGS) \ 28 28 -I$(top_srcdir)/osaf/services/infrastructure/dtsv/include \ 29 -I$(top_srcdir)/osaf/services/infrastructure/masv/include 29 -I$(top_srcdir)/osaf/services/infrastructure/masv/include \ 30 -I$(top_srcdir)/osaf/libs/common/immsv/include 30 31 31 32 ncs_dts_SOURCES = \ 32 33 $(top_srcdir)/osaf/libs/core/common/ncs_main_pvt.c \ 34 $(top_srcdir)/osaf/tools/safimm/src/immutil.c \ 33 35 dts_amf.c \ 34 36 dts_api.c \ … … 41 43 dts_def.c \ 42 44 dts_dl_api.c \ 43 dts_glpolc.c \44 45 dts_log.c \ 45 46 dts_mds.c \ 46 dts_mib.c \ 47 dts_nodepolc.c \ 47 dts_logpolc.c \ 48 48 dts_pvt.c \ 49 49 dts_seq.c \ 50 dts_svcpolc.c \51 50 dts_tgt.c \ 51 dts_imm.c \ 52 52 sysf_log.c 53 53 … … 59 59 $(top_builddir)/osaf/libs/saf/libSaAmf/libSaAmf.la \ 60 60 $(top_builddir)/osaf/libs/agents/infrastructure/rda/librda.la \ 61 $(top_builddir)/osaf/snmp/miblib/dtsv/dts/libdts_miblib.la 61 $(top_builddir)/osaf/libs/saf/libSaImm/libSaImmOi.la \ 62 $(top_builddir)/osaf/libs/saf/libSaImm/libSaImmOm.la -
osaf/services/infrastructure/dtsv/dts/dts_api.c
r623 r770 205 205 return m_DTS_DBG_SINK(NCSCC_RC_FAILURE, "dts_svc_create: MBCSv registration failed"); 206 206 } 207 208 /* Register with OAC and MIB-LIB */209 if (dts_register_tables(inst) != NCSCC_RC_SUCCESS) {210 m_NCS_SEL_OBJ_DESTROY(inst->sighdlr_sel_obj);211 dtsv_mbcsv_deregister(inst);212 dts_mds_unreg(inst, TRUE);213 inst->created = FALSE;214 ncs_patricia_tree_destroy(&inst->svc_tbl);215 ncs_patricia_tree_destroy(&inst->dta_list);216 ncs_patricia_tree_destroy(&inst->libname_asciispec_tree);217 ncs_patricia_tree_destroy(&inst->svcid_asciispec_tree);218 219 m_DTS_UNLK(&inst->lock);220 m_DTS_LK_DLT(&inst->lock);221 return m_DTS_DBG_SINK(NCSCC_RC_FAILURE, "dts_svc_create: MIB table registration failed");222 }223 224 /* DTS PSSv integration changes - Send playback request to PSR */225 if (inst->ha_state == SA_AMF_HA_ACTIVE) {226 if (dts_mab_snd_warmboot_req(inst) != NCSCC_RC_SUCCESS) {227 m_DTS_DBG_SINK(NCSCC_RC_FAILURE, "dts_svc_create: Failed PSS playback");228 }229 }230 207 #ifdef __NCSINC_LINUX__ 231 208 { … … 241 218 if (dts_create_log_dir_path(inst->log_path) != NCSCC_RC_SUCCESS) { 242 219 m_NCS_SEL_OBJ_DESTROY(inst->sighdlr_sel_obj); 243 dts_unregister_tables(inst);244 220 dtsv_mbcsv_deregister(inst); 245 221 dts_mds_unreg(inst, TRUE); … … 259 235 strcpy(inst->log_path, LOG_PATH); 260 236 #endif 261 237 inst->imm_init_done = FALSE; 262 238 m_DTS_UNLK(&inst->lock); 263 239 … … 368 344 ncs_patricia_tree_destroy(&inst->svcid_asciispec_tree); 369 345 ncs_patricia_tree_destroy(&inst->libname_asciispec_tree); 370 371 /* Deregister MIB tables from OAC. */372 retval = dts_unregister_tables(inst);373 if (retval != NCSCC_RC_SUCCESS)374 retval = m_DTS_DBG_SINK(NCSCC_RC_FAILURE, "dts_svc_destroy: Failed to deregister MIB tables from OAC");375 346 376 347 m_NCS_SEL_OBJ_DESTROY(inst->sighdlr_sel_obj); -
osaf/services/infrastructure/dtsv/dts/dts_cbop.c
r623 r770 25 25 26 26 FUNCTIONS INCLUDED in this module: 27 dtsv_cirbuff_op_table_register - Register CB operation table.28 dtsv_populate_cirbuff_op_tbl_info - CB operation table information.29 dtsv_populate_cirbuff_op_var_info - CB op table var info.30 dtsv_cirbuff_op_set_obj - CB set operation.31 dtsv_cirbuff_op_get_obj - CB get operation.32 dtsv_extract_cirbuff_op_obj - CB extract operation.33 dtsv_next_cirbuff_op_obj - CB next operation.34 dtsv_setrow_cirbuff_op_obj - CB set-row operation.35 27 dump_global_buffer_log - CB - dump global buffer log. 36 28 dump_per_node_buffer_log - CB - dump per node buffer log. … … 50 42 51 43 /* Static vriable declarations */ 52 static NCSMIB_OBJ_INFO objinfo;53 static NCSMIB_VAR_INFO varinfo[dtsvCirBuffOpMax_Id];54 44 static uns16 idx[2]; 55 45 56 /* Local routines for this table */57 static uns32 dtsv_cirbuff_op_set_obj(NCSCONTEXT cb, NCSMIB_ARG *arg, NCSMIB_VAR_INFO *var_info, NCS_BOOL flag);58 static uns32 dtsv_cirbuff_op_get_obj(NCSCONTEXT cb, NCSMIB_ARG *arg, NCSCONTEXT *data);59 60 static uns3261 dtsv_extract_cirbuff_op_obj(NCSMIB_PARAM_VAL *param_val, NCSMIB_VAR_INFO *var_info, NCSCONTEXT data, NCSCONTEXT buffer);62 static uns3263 dtsv_next_cirbuff_op_obj(NCSCONTEXT cb, NCSMIB_ARG *arg, NCSCONTEXT *data, uns32 *next_inst_id, uns32 *next_inst_len);64 static uns3265 dtsv_setrow_cirbuff_op_obj(NCSCONTEXT cb, NCSMIB_ARG *args,66 NCSMIB_SETROW_PARAM_VAL *params, struct ncsmib_obj_info *objinfo, NCS_BOOL flag);67 46 68 47 static uns32 dump_global_buffer_log(DTS_CB *inst, uns8 device); … … 70 49 static uns32 dump_svc_per_node_buffer_log(DTS_CB *inst, SVC_KEY *key, uns8 device); 71 50 72 static void dtsv_populate_cirbuff_op_tbl_info(NCSMIB_TBL_INFO *pInfo);73 static void dtsv_populate_cirbuff_op_var_info(NCSMIB_VAR_INFO *pInfo);74 /**************************************************************************75 Function: dtsv_cirbuff_op_table_register76 Purpose: Circular Buffer Operation table register routine77 Input: void78 Returns: NCSCC_RC_SUCCESSS/NCSCC_RC_FAILURE79 Notes:80 **************************************************************************/81 uns32 dtsv_cirbuff_op_table_register(void)82 {83 NCSMIBLIB_REQ_INFO reqinfo;84 uns32 rc = NCSCC_RC_SUCCESS;85 86 memset(&reqinfo, 0, sizeof(reqinfo));87 memset(&objinfo, 0, sizeof(objinfo));88 89 /* Populate the Table Information */90 dtsv_populate_cirbuff_op_tbl_info(&objinfo.tbl_info);91 92 /* Populate the Var Infoamtion */93 objinfo.var_info = varinfo;94 dtsv_populate_cirbuff_op_var_info(objinfo.var_info);95 96 /* Register the Group table */97 reqinfo.req = NCSMIBLIB_REQ_REGISTER;98 reqinfo.info.i_reg_info.obj_info = &objinfo;99 rc = ncsmiblib_process_req(&reqinfo);100 return rc;101 }102 103 /**************************************************************************104 Function: dtsv_populate_cirbuff_op_tbl_info105 Purpose: This routine popultaes the Circular Buffer Operation table information106 Input: pInfo: Pointer to NCSMIB_TBL_INFO structure107 Returns: NCSCC_RC_SUCCESSS/NCSCC_RC_FAILURE108 Notes:109 **************************************************************************/110 static void dtsv_populate_cirbuff_op_tbl_info(NCSMIB_TBL_INFO *pInfo)111 {112 /* Populate the Index Array */113 idx[0] = dtsvCirbuffOpIndexNode_Id;114 idx[1] = dtsvCirbuffOpIndexService_Id;115 116 /* Set Table params */117 pInfo->table_id = NCSMIB_TBL_DTSV_CIRBUFF_OP;118 pInfo->table_of_scalars = FALSE;119 pInfo->index_in_this_tbl = TRUE;120 pInfo->idx_data.index_info.num_index_ids = 2;121 pInfo->idx_data.index_info.index_param_ids = idx;122 pInfo->num_objects = dtsvCirBuffOpMax_Id - 1;123 pInfo->row_in_one_data_struct = TRUE;124 125 /* Set Table function handlers */126 pInfo->set = dtsv_cirbuff_op_set_obj;127 pInfo->get = dtsv_cirbuff_op_get_obj;128 pInfo->next = dtsv_next_cirbuff_op_obj;129 pInfo->setrow = dtsv_setrow_cirbuff_op_obj;130 pInfo->extract = dtsv_extract_cirbuff_op_obj;131 }132 133 /**************************************************************************134 Function: dtsv_populate_cirbuff_op_var_info135 Purpose: This routine populates the Circular Buffer Operation param information136 Input: pInfo: Pointer to NCSMIB_VAR_INFO structures137 Returns: NCSCC_RC_SUCCESSS/NCSCC_RC_FAILURE138 Notes:139 **************************************************************************/140 static void dtsv_populate_cirbuff_op_var_info(NCSMIB_VAR_INFO *pInfo)141 {142 /* dtsvCirbuffOpIndexNode_Id */143 pInfo[dtsvCirbuffOpIndexNode_Id - 1].offset =144 (uns16)((long)&CIR_BUFFER_OP_TABLE_NULL->my_key.node - (long)CIR_BUFFER_OP_TABLE_NULL);145 pInfo[dtsvCirbuffOpIndexNode_Id - 1].len = sizeof(CIR_BUFFER_OP_TABLE_NULL->my_key.node);146 pInfo[dtsvCirbuffOpIndexNode_Id - 1].access = NCSMIB_ACCESS_READ_WRITE;147 pInfo[dtsvCirbuffOpIndexNode_Id - 1].status = NCSMIB_OBJ_CURRENT;148 pInfo[dtsvCirbuffOpIndexNode_Id - 1].set_when_down = FALSE;149 pInfo[dtsvCirbuffOpIndexNode_Id - 1].fmat_id = NCSMIB_FMAT_INT;150 pInfo[dtsvCirbuffOpIndexNode_Id - 1].obj_type = NCSMIB_OTHER_INT_OBJ_TYPE;151 152 /* dtsvCirbuffOpIndexService_Id */153 pInfo[dtsvCirbuffOpIndexService_Id - 1].offset =154 (uns16)((long)&CIR_BUFFER_OP_TABLE_NULL->my_key.ss_svc_id - (long)CIR_BUFFER_OP_TABLE_NULL);155 pInfo[dtsvCirbuffOpIndexService_Id - 1].len = sizeof(CIR_BUFFER_OP_TABLE_NULL->my_key.ss_svc_id);156 pInfo[dtsvCirbuffOpIndexService_Id - 1].access = NCSMIB_ACCESS_READ_WRITE;157 pInfo[dtsvCirbuffOpIndexService_Id - 1].status = NCSMIB_OBJ_CURRENT;158 pInfo[dtsvCirbuffOpIndexService_Id - 1].set_when_down = FALSE;159 pInfo[dtsvCirbuffOpIndexService_Id - 1].fmat_id = NCSMIB_FMAT_INT;160 pInfo[dtsvCirbuffOpIndexService_Id - 1].obj_type = NCSMIB_OTHER_INT_OBJ_TYPE;161 162 /* dtsvCirbuffOpOperation */163 pInfo[dtsvCirbuffOpOperation - 1].offset =164 (uns16)((long)&CIR_BUFFER_OP_TABLE_NULL->operation - (long)CIR_BUFFER_OP_TABLE_NULL);165 pInfo[dtsvCirbuffOpOperation - 1].len = sizeof(CIR_BUFFER_OP_TABLE_NULL->operation);166 pInfo[dtsvCirbuffOpOperation - 1].access = NCSMIB_ACCESS_READ_WRITE;167 pInfo[dtsvCirbuffOpOperation - 1].status = NCSMIB_OBJ_CURRENT;168 pInfo[dtsvCirbuffOpOperation - 1].set_when_down = FALSE;169 pInfo[dtsvCirbuffOpOperation - 1].fmat_id = NCSMIB_FMAT_INT;170 pInfo[dtsvCirbuffOpOperation - 1].obj_type = NCSMIB_OTHER_INT_OBJ_TYPE;171 172 /* dtsvCirbuffOpDevice */173 pInfo[dtsvCirbuffOpOperation - 1].offset =174 (uns16)((long)&CIR_BUFFER_OP_TABLE_NULL->op_device - (long)CIR_BUFFER_OP_TABLE_NULL);175 pInfo[dtsvCirbuffOpDevice - 1].len = sizeof(CIR_BUFFER_OP_TABLE_NULL->op_device);176 pInfo[dtsvCirbuffOpDevice - 1].access = NCSMIB_ACCESS_READ_WRITE;177 pInfo[dtsvCirbuffOpDevice - 1].status = NCSMIB_OBJ_CURRENT;178 pInfo[dtsvCirbuffOpDevice - 1].set_when_down = FALSE;179 pInfo[dtsvCirbuffOpDevice - 1].fmat_id = NCSMIB_FMAT_INT;180 pInfo[dtsvCirbuffOpDevice - 1].obj_type = NCSMIB_OTHER_INT_OBJ_TYPE;181 }182 183 /**************************************************************************184 * Function: dtsv_cirbuff_op_set_obj185 * Purpose: Circular Buffer Operation table's set object routine186 * Input: cb : DTS_CB pointer187 * arg : MIB arg pointer188 * var_info : varinfo pointer189 * flag : Tells the operation to be performed190 * Returns: NCSCC_RC_SUCCESSS/NCSCC_RC_FAILURE191 * Notes:192 **************************************************************************/193 static uns32 dtsv_cirbuff_op_set_obj(NCSCONTEXT cb, NCSMIB_ARG *arg, NCSMIB_VAR_INFO *var_info, NCS_BOOL flag)194 {195 /* Operation not supported for this table. Only SetRow Operation */196 return NCSCC_RC_FAILURE;197 }198 199 /**************************************************************************200 * Function: dtsv_cirbuff_op_get_obj201 * Purpose: Circular Buffer Operation table's get object routine202 * Input: cb : DTS_CB pointer203 * arg : MIB arg pointer*204 * data : Pointer of the data structure205 * Returns: NCSCC_RC_SUCCESSS/NCSCC_RC_FAILURE206 * Notes:207 **************************************************************************/208 static uns32 dtsv_cirbuff_op_get_obj(NCSCONTEXT cb, NCSMIB_ARG *arg, NCSCONTEXT *data)209 {210 /* Operation not supported for this table. Only SetRow Operation */211 return NCSCC_RC_FAILURE;212 }213 214 /**************************************************************************215 * Function: dtsv_extract_cirbuff_op_obj216 * Purpose: Circular Buffer Operation table's extract object value routine217 * Input: param_val: Param pointer218 * var_info : var_info pointer219 * data : Pointer to the data structure220 * buffer : Buffer to get the octect data221 * Returns: NCSCC_RC_SUCCESSS/NCSCC_RC_FAILURE222 * Notes:223 **************************************************************************/224 static uns32225 dtsv_extract_cirbuff_op_obj(NCSMIB_PARAM_VAL *param_val, NCSMIB_VAR_INFO *var_info, NCSCONTEXT data, NCSCONTEXT buffer)226 {227 /* Operation not supported for this table. Only SetRow Operation */228 return NCSCC_RC_FAILURE;229 }230 231 /**************************************************************************232 * Function: dtsv_next_cirbuff_op_obj233 * Purpose: Circular Buffer Operation table's next object routine234 * Input: cb : DTS_CB pointer235 * arg : Mib arg236 * data : Pointer to the data structure237 * Returns: NCSCC_RC_SUCCESSS/NCSCC_RC_FAILURE238 * Notes:239 **************************************************************************/240 static uns32241 dtsv_next_cirbuff_op_obj(NCSCONTEXT cb, NCSMIB_ARG *arg, NCSCONTEXT *data, uns32 *next_inst_id, uns32 *next_inst_len)242 {243 /* Operation not supported for this table. Only SetRow Operation */244 return NCSCC_RC_FAILURE;245 }246 247 /**************************************************************************248 Function: dtsv_setrow_cirbuff_op_obj249 250 Purpose: Circular Buffer Operation table's setrow routine251 252 Input: cb : DTS_CB pointer253 arg : Mib arg pointer254 params : Poinet to param structure255 objinfo : Pointer to object info structure256 flag : Flase to perform setrow operation other wise testrow257 258 Returns: NCSCC_RC_SUCCESSS/NCSCC_RC_FAILURE259 Notes:260 **************************************************************************/261 static uns32262 dtsv_setrow_cirbuff_op_obj(NCSCONTEXT cb, NCSMIB_ARG *args,263 NCSMIB_SETROW_PARAM_VAL *params, struct ncsmib_obj_info *objinfo, NCS_BOOL flag)264 {265 DTS_CB *inst = (DTS_CB *)cb;266 267 SVC_KEY key;268 uns8 operation, op_device = 0;269 uns32 paramid = 0;270 271 memset(&key, 0, sizeof(SVC_KEY));272 273 for (paramid = dtsvCirbuffOpIndexNode_Id; paramid < dtsvCirBuffOpMax_Id; paramid++) {274 if (!(params[paramid - 1].set_flag))275 return NCSCC_RC_FAILURE;276 277 if (paramid == dtsvCirbuffOpIndexNode_Id)278 key.node = params[paramid - 1].param.info.i_int;279 else if (paramid == dtsvCirbuffOpIndexService_Id)280 key.ss_svc_id = params[paramid - 1].param.info.i_int;281 else if (paramid == dtsvCirbuffOpOperation)282 operation = (uns8)params[paramid - 1].param.info.i_int;283 else if (paramid == dtsvCirbuffOpDevice)284 op_device = (uns8)params[paramid - 1].param.info.i_int;285 else286 return NCSCC_RC_FAILURE;287 }288 289 if ((key.node == 0) && (key.ss_svc_id == 0)) {290 return (dump_global_buffer_log(inst, op_device));291 } else if (key.ss_svc_id == 0) {292 return (dump_per_node_buffer_log(inst, key.node, op_device));293 } else {294 return (dump_svc_per_node_buffer_log(inst, &key, op_device));295 }296 297 return NCSCC_RC_SUCCESS;298 }299 51 300 52 /************************************************************************** -
osaf/services/infrastructure/dtsv/dts/dts_chkop.c
r623 r770 40 40 41 41 #include "dts.h" 42 #include "dts_imm.h" 43 42 44 static uns32 dtsv_mbcsv_callback(NCS_MBCSV_CB_ARG *arg); 43 45 static uns32 dtsv_mbcsv_process_enc_cb(DTS_CB *cb, NCS_MBCSV_CB_ARG *arg); … … 73 75 { 74 76 SaAmfHAStateT prev_haState = cb->ha_state; 77 SaAisErrorT error = SA_AIS_OK; 75 78 76 79 /* … … 106 109 if ((prev_haState == SA_AMF_HA_ACTIVE) && (haState == SA_AMF_HA_QUIESCED)) { 107 110 m_DTS_DBG_SINK(NCSCC_RC_SUCCESS, "dts_role_change: DTS going ACTIVE --> QUIESCED"); 111 112 /* Give up our IMM OI implementer role */ 113 error = dts_saImmOiImplementerClear(cb->immOiHandle); 114 if (error != SA_AIS_OK) { 115 m_DTS_DBG_SINK(NCSFL_SEV_ERROR, "saImmOiImplementerClear failed"); 116 } 108 117 109 118 /* Change MDS VDEST */ … … 182 191 return m_DTS_DBG_SINK(NCSCC_RC_FAILURE, "dts_role_change: DTS fail-over failed"); 183 192 } */ 193 if (prev_haState == SA_AMF_HA_QUIESCED) 194 dts_imm_declare_implementer(cb); 195 196 if (prev_haState == SA_AMF_HA_STANDBY) { 197 dts_imm_declare_implementer(cb); 198 199 /* get default global configuration from global scalar object */ 200 dts_configure_global_policy(); /* order must be followed for these three calls */ 201 /* Loads all NodeLogPolicy objects from IMMSv */ 202 dts_read_log_policies("OpenSAFDtsvNodeLogPolicy"); 203 /* Loads all ServiceLogPolicy objects from IMMSv */ 204 dts_read_log_policies("OpenSAFDtsvServiceLogPolicy"); 205 } 184 206 185 207 /* Once it becomes active, it IS in-sync with itself */ … … 511 533 if (TRUE == cb->cold_sync_in_progress) { 512 534 if (NCSCC_RC_SUCCESS != dtsv_validate_reo_type_in_csync(cb, 513 arg->info. decode.514 i_reo_type)) {535 arg->info. 536 decode.i_reo_type)) { 515 537 /* Free userbuff and return without decoding */ 516 538 ncs_reset_uba(&arg->info.decode.i_uba); … … 559 581 560 582 if ((NCS_MBCSV_MSG_COLD_SYNC_RESP_COMPLETE == arg->info.decode.i_msg_type) && 561 (NCSCC_RC_SUCCESS == status)) 562 { 583 (NCSCC_RC_SUCCESS == status)) { 563 584 cb->in_sync = TRUE; 564 585 cb->cold_sync_in_progress = FALSE; … … 771 792 mbcsv_arg.i_mbcsv_hdl = cb->mbcsv_hdl; 772 793 mbcsv_arg.info.open.i_pwe_hdl = (uns32)cb->mds_hdl; 773 /* Smik - Here CB hdl is required supplying oac_hdl from DTS CB */774 mbcsv_arg.info.open.i_client_hdl = cb->oac_hdl;775 794 776 795 if (NCSCC_RC_SUCCESS != ncs_mbcsv_svc(&mbcsv_arg)) { -
osaf/services/infrastructure/dtsv/dts/dts_ckpt_dec.c
r623 r770 203 203 return status; 204 204 } 205 206 205 /****************************************************************************\ 207 206 * Function: dtsv_decode_ckpt_dta_dest_list_config … … 663 662 while (svc != NULL) { 664 663 nt_key = svc->ntwk_key; 665 if ((svc->dta_count == 0) && (svc-> row_exist == FALSE) && (svc->my_key.ss_svc_id != 0)) {664 if ((svc->dta_count == 0) && (svc->my_key.ss_svc_id != 0)) { 666 665 /* Remove the service entry now */ 667 666 if (&svc->device.cir_buffer != NULL) -
osaf/services/infrastructure/dtsv/dts/dts_ckpt_edu.c
r623 r770 264 264 (long)&((DTS_SVC_REG_TBL *)0)->per_node_logging, 0, NULL}, 265 265 {EDU_EXEC, ncs_edp_uns32, 0, 0, 0, 266 (long)&((DTS_SVC_REG_TBL *)0)->row_status, 0, NULL},267 {EDU_EXEC, ncs_edp_uns32, 0, 0, 0,268 266 (long)&((DTS_SVC_REG_TBL *)0)->my_key.node, 0, NULL}, 269 267 {EDU_EXEC, ncs_edp_uns32, 0, 0, 0, … … 302 300 {EDU_EXEC, ncs_edp_uns8, 0, 0, 0, 303 301 (long)&((DTS_SVC_REG_TBL *)0)->device.buff_log_fmt_change, 0, NULL}, 304 {EDU_EXEC, ncs_edp_ncs_bool, 0, 0, 0,305 (long)&((DTS_SVC_REG_TBL *)0)->row_exist, 0, NULL},306 302 {EDU_END, 0, 0, 0, 0, 0, 0, NULL}, 307 303 }; -
osaf/services/infrastructure/dtsv/dts/dts_ckpt_updt.c
r623 r770 37 37 38 38 #include "dts.h" 39 #include "dts_imm.h" 39 40 40 41 static uns32 dts_stby_global_filtering_policy_change(DTS_CB *cb); … … 306 307 307 308 /* Check if svc entry is required or not */ 308 if ( (svc->dta_count == 0) && (svc->row_exist == FALSE)) {309 if (svc->dta_count == 0) { 309 310 if (&svc->device.cir_buffer != NULL) 310 311 dts_circular_buffer_free(&svc->device.cir_buffer); … … 423 424 /*async update for new svc_reg, so initialize node param */ 424 425 node_reg_ptr->per_node_logging = NODE_LOGGING; 425 node_reg_ptr->row_status = NCSMIB_ROWSTATUS_NOTINSERVICE;426 node_reg_ptr->row_exist = FALSE;427 /*node_reg_ptr->num_svcs = svcreg->num_svcs; */428 426 429 427 /* Copy attributes of node policy & op device */ … … 570 568 while ((svc_ptr != NULL) && (svc_ptr->my_key.node == key.node)) { 571 569 switch (cb->cli_bit_map) { 572 case ncsDtsvNodeMessageLogging_ID:570 case osafDtsvNodeMessageLogging_ID: 573 571 if (svcreg->per_node_logging == NCS_SNMP_FALSE) 574 572 svc_ptr->device.new_file = TRUE; 575 573 break; 576 574 577 /* In case of row-status activation only, propagate the578 * node level filters to corr svc filter policy579 * settings. Logging policy would anyways be init580 * on switch-over/fail-over.581 */582 case ncsDtsvNodeRowStatus_ID:583 svc_ptr->svc_policy.category_bit_map =584 svcreg->svc_policy.category_bit_map;585 svc_ptr->svc_policy.enable = svcreg->svc_policy.enable;586 svc_ptr->svc_policy.severity_bit_map =587 svcreg->svc_policy.severity_bit_map;588 break;589 590 575 /* Change the filter policies only if the node update 591 576 * is sent for an active rowstatus node entry 592 577 */ 593 case ncsDtsvNodeCategoryBitMap_ID: 594 if (svcreg->row_status == NCSMIB_ROWSTATUS_ACTIVE) 578 case osafDtsvNodeCategoryBitMap_ID: 595 579 svc_ptr->svc_policy.category_bit_map = 596 580 svcreg->svc_policy.category_bit_map; 597 581 break; 598 582 599 case ncsDtsvNodeLoggingState_ID: 600 if (svcreg->row_status == NCSMIB_ROWSTATUS_ACTIVE) 583 case osafDtsvNodeLoggingState_ID: 601 584 svc_ptr->svc_policy.enable = 602 585 svcreg->svc_policy.enable; 603 586 break; 604 587 605 case ncsDtsvNodeSeverityBitMap_ID: 606 if (svcreg->row_status == NCSMIB_ROWSTATUS_ACTIVE) 588 case osafDtsvNodeSeverityBitMap_ID: 607 589 svc_ptr->svc_policy.severity_bit_map = 608 590 svcreg->svc_policy.severity_bit_map; … … 685 667 if (cb->svc_rmv_mds_dest == 0) { 686 668 /* RMV updt corresponding to row destroy op on Act */ 687 if ((svc_ptr->dta_count == 0) && 688 ((svc_ptr->row_exist == FALSE) 689 || (cb->cli_bit_map == ncsDtsvServiceRowStatus_ID) 690 || (cb->cli_bit_map == ncsDtsvNodeRowStatus_ID))) { 669 if (svc_ptr->dta_count == 0) { 691 670 if (&svc_ptr->device.cir_buffer != NULL) 692 671 dts_circular_buffer_free(&svc_ptr->device.cir_buffer); … … 772 751 /*ncs_destroy_queue(&to_reg->svc_list); */ 773 752 ncs_patricia_tree_del(&cb->dta_list, 774 (NCS_PATRICIA_NODE *) &to_reg->775 node);753 (NCS_PATRICIA_NODE *) 754 &to_reg->node); 776 755 m_LOG_DTS_EVT(DTS_EV_DTA_DEST_RMV_SUCC, 0, key.node, 777 756 (uns32)to_reg->dta_addr); … … 801 780 } 802 781 803 /* Delete svc entry when dta_count is zero & either row_exist is804 * False.Rowstatus delete is already taken care of.782 /* Delete svc entry when dta_count is zero 783 * Rowstatus delete is already taken care of. 805 784 */ 806 else if ( (svc_ptr->dta_count == 0) && (svc_ptr->row_exist == FALSE)) {785 else if (svc_ptr->dta_count == 0) { 807 786 /* No need of policy handles */ 808 787 /* Now delete the svc entry from the patricia tree */ … … 985 964 if (cb->cli_bit_map != 0) { 986 965 switch (cb->cli_bit_map) { 987 case ncsDtsvGlobalMessageLogging_ID:966 case osafDtsvGlobalMessageLogging_ID: 988 967 cb->g_policy.device.new_file = TRUE; 989 968 /*dts_circular_buffer_clear(&cb->g_policy.device.cir_buffer); */ 990 case ncsDtsvGlobalCategoryBitMap_ID:991 case ncsDtsvGlobalLoggingState_ID:992 case ncsDtsvGlobalSeverityBitMap_ID:969 case osafDtsvGlobalCategoryBitMap_ID: 970 case osafDtsvGlobalLoggingState_ID: 971 case osafDtsvGlobalSeverityBitMap_ID: 993 972 /* This case changes have to propagated to all svcs */ 994 973 if (NCSCC_RC_SUCCESS != dts_stby_global_filtering_policy_change(cb)) { … … 1055 1034 1056 1035 /* Set the Node Policy as per the Global Policy */ 1057 if (cb->cli_bit_map == ncsDtsvGlobalLoggingState_ID)1036 if (cb->cli_bit_map == osafDtsvGlobalLoggingState_ID) 1058 1037 service->svc_policy.enable = cb->g_policy.g_policy.enable; 1059 if (cb->cli_bit_map == ncsDtsvGlobalCategoryBitMap_ID)1038 if (cb->cli_bit_map == osafDtsvGlobalCategoryBitMap_ID) 1060 1039 service->svc_policy.category_bit_map = cb->g_policy.g_policy.category_bit_map; 1061 if (cb->cli_bit_map == ncsDtsvGlobalSeverityBitMap_ID)1040 if (cb->cli_bit_map == osafDtsvGlobalSeverityBitMap_ID) 1062 1041 service->svc_policy.severity_bit_map = cb->g_policy.g_policy.severity_bit_map; 1063 if (cb->cli_bit_map == ncsDtsvGlobalMessageLogging_ID) {1042 if (cb->cli_bit_map == osafDtsvGlobalMessageLogging_ID) { 1064 1043 service->device.new_file = TRUE; 1065 1044 } -
osaf/services/infrastructure/dtsv/dts/dts_dl_api.c
r623 r770 255 255 m_NCS_IPC_RELEASE(&gl_dts_mbx, NULL); 256 256 inst->created = FALSE; 257 dts_unregister_tables(inst);258 257 dtsv_mbcsv_deregister(inst); 259 258 dts_mds_unreg(inst, TRUE); -
osaf/services/infrastructure/dtsv/dts/dts_log.c
r623 r770 230 230 } 231 231 232 233 234 235 void _dts_log(uns8 severity, const char *function, const char *format, ...) 236 { 237 char preamble[128]; 238 char str[128]; 239 va_list ap; 240 241 va_start(ap, format); 242 snprintf(preamble, sizeof(preamble), "%s - %s", function, format); 243 vsnprintf(str, sizeof(str), preamble, ap); 244 va_end(ap); 245 246 ncs_logmsg(NCS_SERVICE_ID_DTSV, DTS_LID_GENLOG, DTS_FC_GENLOG, NCSFL_LC_HEADLINE, severity, NCSFL_TYPE_TC, str); 247 } 232 248 #endif /* (DTS_LOG == 1) */ -
osaf/services/infrastructure/dtsv/dts/dts_mds.c
r623 r770 77 77 78 78 /* store the info returned by MDS */ 79 cb->oac_hdl = vda_info.info.vdest_create.o_pwe1_oac_hdl;80 79 cb->mds_hdl = vda_info.info.vdest_create.o_mds_pwe1_hdl; 81 80 /* Smik - New additions */ … … 124 123 cb->created = FALSE; 125 124 dts_mds_unreg(cb, TRUE); 126 return m_DTS_DBG_SINK(NCSCC_RC_FAILURE, "dts_mds_reg: Event subscription failed!!"); 125 return m_DTS_DBG_SINK(NCSCC_RC_FAILURE, "dts_mds_reg: DTA Event subscription failed!!"); 126 } 127 128 /* DTS is subscribing for IMMMD MDS service */ 129 memset(&svc_to_mds_info, 0, sizeof(NCSMDS_INFO)); 130 svc_to_mds_info.i_mds_hdl = cb->mds_hdl; 131 svc_to_mds_info.i_svc_id = NCSMDS_SVC_ID_DTS; 132 svc_to_mds_info.i_op = MDS_SUBSCRIBE; 133 svc_to_mds_info.info.svc_subscribe.i_scope = NCSMDS_SCOPE_INTRANODE; 134 svc_to_mds_info.info.svc_subscribe.i_num_svcs = DTS_NUM_SVCS_TO_SUBSCRIBE; 135 svc_ids_array[0] = NCSMDS_SVC_ID_IMMND; 136 svc_to_mds_info.info.svc_subscribe.i_svc_ids = svc_ids_array; 137 138 if (ncsmds_api(&svc_to_mds_info) != NCSCC_RC_SUCCESS) { 139 cb->created = FALSE; 140 dts_mds_unreg(cb, TRUE); 141 return m_DTS_DBG_SINK(NCSCC_RC_FAILURE, "dts_mds_reg: IMMND Event subscription failed!!"); 127 142 } 128 143 … … 312 327 if (0 != msg) 313 328 m_MMGR_FREE_DTSV_MSG(msg); 314 return m_DTS_DBG_SINK(NCSCC_RC_FAILURE, " dts_handle_signal:IPC send failed");329 return m_DTS_DBG_SINK(NCSCC_RC_FAILURE, "QUIESCED_COMPL MSG IPC send failed"); 315 330 } 316 331 break; … … 457 472 memset(msg, '\0', sizeof(DTSV_MSG)); 458 473 459 msg->msg_type = DTS_DTA_EVT_RCV; 474 if(svc_info.i_svc_id == NCSMDS_SVC_ID_IMMND) 475 msg->msg_type = DTS_IMMND_EVT_RCV; 476 else 477 msg->msg_type = DTS_DTA_EVT_RCV; 478 460 479 msg->node = svc_info.i_node_id; 461 480 msg->data.data.evt.change = svc_info.i_change; … … 568 587 (uns32)(dta_ptr->dta_addr)); 569 588 570 if ( (svc->dta_count == 0) && (svc->row_exist == FALSE)) {589 if (svc->dta_count == 0) { 571 590 dts_circular_buffer_free(&svc->device.cir_buffer); 572 591 dev = &svc->device; -
osaf/services/infrastructure/dtsv/dts/dts_pvt.c
r676 r770 49 49 50 50 #include "dts.h" 51 #include "dts_imm.h" 52 #include <poll.h> 53 54 #define FD_USR1 0 55 #define FD_AMF 0 56 #define FD_MBCSV 1 57 #define FD_MBX 2 58 #define FD_IMM 3 59 60 static nfds_t nfds = 3; 51 61 52 62 #define m_DTS_COMP_NAME_FILE OSAF_LOCALSTATEDIR "ncs_dts_comp_name" 53 63 64 static struct pollfd fds[4]; 54 65 static uns32 dts_stby_initialize(DTS_CB *cb); 55 66 … … 72 83 73 84 /***************************************************************************** 74 dts_do_evts85 dts_do_evts 75 86 *****************************************************************************/ 76 87 void dts_do_evts(SYSF_MBX *mbx) 77 88 { 78 89 uns32 status; 79 /*fd_set readfds; */ 80 NCS_SEL_OBJ_SET readfds; 81 NCS_SEL_OBJ numfds, mbx_fd, ncs_amf_sel_obj, ncs_mbcsv_sel_obj; 90 NCS_SEL_OBJ mbx_fd; 82 91 SaAisErrorT saf_status = SA_AIS_OK; 83 int count; 84 85 ncs_amf_sel_obj.raise_obj = 0; 86 ncs_amf_sel_obj.rmv_obj = 0;87 ncs_mbcsv_sel_obj.raise_obj = 0;88 ncs_mbcsv_sel_obj.rmv_obj = 0;89 90 /*numfds = dts_cb.numfds;91 readfds = dts_cb.readfds; */92 93 mbx_fd = ncs_ipc_get_sel_obj(mbx); 94 95 fds[FD_MBX].fd = mbx_fd.rmv_obj; 96 fds[FD_MBX].events = POLLIN; 97 fds[FD_USR1].fd = dts_cb.sighdlr_sel_obj.rmv_obj; 98 fds[FD_USR1].events = POLLIN; 99 fds[FD_MBCSV].fd = dts_cb.mbcsv_sel_obj; 100 fds[FD_MBCSV].events = POLLIN; 92 101 93 102 while (1) { 94 /* re-intialize the FDs and count */ 95 numfds.raise_obj = 0; 96 numfds.rmv_obj = 0; 97 m_NCS_SEL_OBJ_ZERO(&readfds); 98 99 mbx_fd = m_NCS_IPC_GET_SEL_OBJ(mbx); 100 m_NCS_SEL_OBJ_SET(mbx_fd, &readfds); 101 numfds = m_GET_HIGHER_SEL_OBJ(mbx_fd, numfds); 102 103 if (dts_cb.dts_amf_sel_obj != 0) { 104 m_SET_FD_IN_SEL_OBJ((uns32)dts_cb.dts_amf_sel_obj, ncs_amf_sel_obj); 105 m_NCS_SEL_OBJ_SET(ncs_amf_sel_obj, &readfds); 106 numfds = m_GET_HIGHER_SEL_OBJ(ncs_amf_sel_obj, numfds); 107 } 108 109 /* Add signal hdlr selection obj to readfds */ 110 if (dts_cb.sighdlr_sel_obj.rmv_obj != 0) { 111 m_NCS_SEL_OBJ_SET(dts_cb.sighdlr_sel_obj, &readfds); 112 numfds = m_GET_HIGHER_SEL_OBJ(dts_cb.sighdlr_sel_obj, numfds); 113 } 114 115 /* Add mbcsv selection obj to readfds */ 116 if (dts_cb.mbcsv_sel_obj != 0) { 117 m_SET_FD_IN_SEL_OBJ((uns32)dts_cb.mbcsv_sel_obj, ncs_mbcsv_sel_obj); 118 m_NCS_SEL_OBJ_SET(ncs_mbcsv_sel_obj, &readfds); 119 numfds = m_GET_HIGHER_SEL_OBJ(ncs_mbcsv_sel_obj, numfds); 120 } 121 122 /*dts_cb.numfds = numfds; 123 dts_cb.readfds = readfds; */ 124 125 /* wait for the requests indefinately */ 126 count = m_NCS_SEL_OBJ_SELECT(numfds, &readfds, NULL, NULL, NULL); 127 if (count > 0) { 128 /* MBCSv FD is selected */ 129 if (m_NCS_SEL_OBJ_ISSET(ncs_mbcsv_sel_obj, &readfds)) { 130 status = dtsv_mbcsv_dispatch(&dts_cb, SA_DISPATCH_ALL); 131 if (status != NCSCC_RC_SUCCESS) 132 m_DTS_DBG_SINK(NCSCC_RC_FAILURE, "dts_do_evts: Error received"); 133 134 m_NCS_SEL_OBJ_CLR(ncs_mbcsv_sel_obj, &readfds); 135 } 136 137 /* AMF FD is selected */ 138 if (m_NCS_SEL_OBJ_ISSET(ncs_amf_sel_obj, &readfds)) { 139 /* process the event from AMF */ 103 104 /* wait for the requests indefinitely */ 105 int ret = poll(fds, nfds, -1); 106 107 if (ret == -1) { 108 if (errno == EINTR) 109 continue; 110 m_DTS_DBG_SINK(NCSCC_RC_FAILURE, "poll failed"); 111 } 112 113 /* MBCSv FD is selected */ 114 if (fds[FD_MBCSV].revents & POLLIN) { 115 status = dtsv_mbcsv_dispatch(&dts_cb, SA_DISPATCH_ALL); 116 if (status != NCSCC_RC_SUCCESS) 117 m_DTS_DBG_SINK(NCSCC_RC_FAILURE, "dts_do_evts: Error received"); 118 } 119 120 /* AMF FD is selected */ 121 if (fds[FD_AMF].revents & POLLIN) { 122 /* Initialize, get selection object and register with AMF */ 123 if (dts_cb.amf_hdl != 0) { 140 124 saf_status = saAmfDispatch(dts_cb.amf_hdl, SA_DISPATCH_ALL); 141 125 if (saf_status != SA_AIS_OK) { 126 printf("saAmfDispatch failed \n"); 142 127 /* log the error */ 143 128 m_DTS_DBG_SINK(NCSCC_RC_FAILURE, "dts_do_evts: AMF Dispatch failing"); 129 } else 130 printf(" saAmfDispatch successful \n"); 131 } else { 132 status = dts_amf_register(&dts_cb); 133 if (status == NCSCC_RC_SUCCESS) { 134 printf("AMF registration success\n"); 135 fds[FD_AMF].fd = dts_cb.dts_amf_sel_obj; 136 } else { 137 printf("AMF registration failed \n"); 138 exit(1); 144 139 } 145 146 /* clear the bit off for this fd */ 147 m_NCS_SEL_OBJ_CLR(ncs_amf_sel_obj, &readfds); 140 } /* Else amf_hdl!=0 */ 141 } 142 /* Process the messages on the Mail box */ 143 if (fds[FD_MBX].revents & POLLIN) { 144 /* process native requests of MASv */ 145 status = dts_do_evt((DTSV_MSG *)m_NCS_IPC_NON_BLK_RECEIVE(mbx, NULL)); 146 if (status != NCSCC_RC_SUCCESS) { 147 /*m_DTS_DBG_SINK(NCSCC_RC_FAILURE, 148 "dts_do_evts: Error received....debug!!"); */ 148 149 } 149 150 /* request from AMF is serviced */ 151 /* Signal handler FD is selected */152 if (m_NCS_SEL_OBJ_ISSET(dts_cb.sighdlr_sel_obj, &readfds)) {153 m_LOG_DTS_API(DTS_AMF_UP_SIG);154 status = dts_handle_signal();155 if (status != NCSCC_RC_SUCCESS)156 m_DTS_DBG_SINK(NCSCC_RC_FAILURE, "dts_do_evts: Error received");157 m_ NCS_SEL_OBJ_RMV_IND(dts_cb.sighdlr_sel_obj, TRUE, TRUE);158 m_NCS_SEL_OBJ_CLR(dts_cb.sighdlr_sel_obj, &readfds);150 } 151 152 if (fds[FD_IMM].revents & POLLIN) { 153 /* dispatch all the IMMSv pending callbacks */ 154 saf_status = saImmOiDispatch(dts_cb.immOiHandle, SA_DISPATCH_ONE); 155 if (saf_status == SA_AIS_ERR_BAD_HANDLE) { 156 nfds = FD_IMM; 157 dts_cb.imm_init_done = FALSE; 158 m_DTS_DBG_SINK(NCSCC_RC_FAILURE, "IMMSv Dispatch failed"); 159 break; 159 160 } 160 161 /* Process the messages on the Mail box */ 162 if (m_NCS_SEL_OBJ_ISSET(mbx_fd, &readfds)) { 163 /* process native requests of MASv */ 164 status = dts_do_evt((DTSV_MSG *)m_NCS_IPC_NON_BLK_RECEIVE(mbx, NULL)); 165 if (status != NCSCC_RC_SUCCESS) { 166 /*m_DTS_DBG_SINK(NCSCC_RC_FAILURE, 167 "dts_do_evts: Error received....debug!!"); */ 168 } 169 m_NCS_SEL_OBJ_CLR(mbx_fd, &readfds); 170 } 171 172 readfds = dts_cb.readfds; 173 numfds = dts_cb.numfds; 174 } /*end of if */ 175 else { 176 m_DTS_DBG_SINK(NCSCC_RC_FAILURE, "dts_do_evts: select failed"); 177 } 161 } 162 178 163 } /*end of while */ 179 return;180 164 } 181 165 … … 214 198 rc = dts_dump_seq_msg(inst, FALSE); 215 199 break; 216 /*Smik - handle AMF up */217 case DTS_AMF_COMPONENTIZE:218 rc = dts_amf_register(inst);219 break;220 200 221 201 /* Added a case for handling msg_type DTS_QUIESCED_CMPLT. … … 287 267 288 268 } 289 } /*end of if */ 290 else { 291 switch (msg->msg_type) { 292 case DTS_AMF_COMPONENTIZE: 293 rc = dts_amf_register(inst); 294 break; 295 296 default: 297 break; 298 } 299 } /*end of else */ 269 } 270 if ((SA_AMF_HA_ACTIVE == inst->ha_state) || (SA_AMF_HA_STANDBY == inst->ha_state)) { 271 if (msg->msg_type == DTS_IMMND_EVT_RCV) 272 rc = dts_handle_immnd_event(msg); 273 } 300 274 301 275 if (0 != msg) { … … 308 282 309 283 return rc; 310 }311 312 /**************************************************************************\313 Function: dts_handle_signal314 315 Purpose: Function used for handling the signal frm AMF being up.316 317 Input: None.318 319 Returns: NCSCC_RC_SUCCESSS/NCSCC_RC_FAILURE320 321 Notes:322 \**************************************************************************/323 uns32 dts_handle_signal(void)324 {325 DTSV_MSG *msg = NULL;326 327 msg = m_MMGR_ALLOC_DTSV_MSG;328 329 if (msg == NULL)330 return m_DTS_DBG_SINK(NCSCC_RC_FAILURE, "dts_handle_signal: Failed to allocate memory for DTSV_MSG");331 332 memset(msg, 0, sizeof(DTSV_MSG));333 msg->msg_type = DTS_AMF_COMPONENTIZE;334 335 /* Post this message to DTS mailbox */336 if (m_DTS_SND_MSG(&gl_dts_mbx, msg, NCS_IPC_PRIORITY_NORMAL) != NCSCC_RC_SUCCESS) {337 if (0 != msg)338 m_MMGR_FREE_DTSV_MSG(msg);339 return m_DTS_DBG_SINK(NCSCC_RC_FAILURE, "dts_handle_signal:IPC send failed");340 }341 return NCSCC_RC_SUCCESS;342 284 } 343 285 … … 385 327 386 328 /**************************************************************************\ 329 Function: dts_reg_with_imm 330 331 Purpose: Function used for handling the DTA up down events received 332 from MDS. 333 334 Input: msg : Event message received from the MDS. 335 336 Returns: NCSCC_RC_SUCCESSS/NCSCC_RC_FAILURE 337 338 Notes: 339 \**************************************************************************/ 340 void dts_reg_with_imm(DTS_CB *inst) 341 { 342 SaAisErrorT error = SA_AIS_OK; 343 344 dts_imm_declare_implementer(inst); 345 /* get default global configuration from global scalar object */ 346 dts_configure_global_policy(); /* order must be followed for these calls */ 347 /* loads all the NodeLogPolicy objects from IMMSv */ 348 dts_read_log_policies("OpenSAFDtsvNodeLogPolicy"); 349 /* loads all the ServiceLogPolicy objects from IMMSv */ 350 dts_read_log_policies("OpenSAFDtsvServiceLogPolicy"); 351 } 352 353 /**************************************************************************\ 387 354 Function: dts_register_service 388 355 … … 399 366 uns32 dts_register_service(DTSV_MSG *msg) 400 367 { 368 printf("------- %s --------\n", __FUNCTION__); 401 369 DTS_CB *inst = &dts_cb; 402 370 SVC_KEY key, nt_key; … … 443 411 444 412 node_reg->per_node_logging = NODE_LOGGING; 445 node_reg->row_status = NCSMIB_ROWSTATUS_NOTINSERVICE;446 413 node_reg->my_node = node_reg; 447 414 448 /* Set the node policy to default and add the node into the patricia tree */449 415 dts_default_node_policy_set(&node_reg->svc_policy, &node_reg->device, key.node); 450 451 416 if (ncs_patricia_tree_add(&inst->svc_tbl, (NCS_PATRICIA_NODE *)node_reg) != NCSCC_RC_SUCCESS) { 452 417 m_LOG_DTS_EVT(DTS_EV_SVC_REG_ENT_ADD_FAIL, key.ss_svc_id, key.node, (uns32)msg->dest_addr); … … 593 558 m_LOG_DTS_EVT(DTS_EV_DTA_SVC_ADD, key.ss_svc_id, key.node, (uns32)to_reg->dta_addr); 594 559 595 svc->row_status = NCSMIB_ROWSTATUS_NOTINSERVICE;596 svc->row_exist = FALSE;597 598 560 /* newly created service, set all the policies to default 599 561 * then add new entry to the patricia tree */ 600 562 svc->per_node_logging = NCS_SNMP_FALSE; 601 563 /*svc->num_svcs = 0; */ 602 603 564 dts_default_svc_policy_set(svc); 604 605 565 if (ncs_patricia_tree_add(&inst->svc_tbl, (NCS_PATRICIA_NODE *)svc) != NCSCC_RC_SUCCESS) { 606 566 m_LOG_DTS_EVT(DTS_EV_SVC_REG_ENT_ADD_FAIL, key.ss_svc_id, key.node, (uns32)msg->dest_addr); … … 715 675 m_DTS_UNLK(&inst->lock); 716 676 m_LOG_DTS_LOCK(DTS_LK_UNLOCKED, &inst->lock); 717 718 677 if (dts_mds_send_msg(msg, dta_key, inst->mds_hdl) != NCSCC_RC_SUCCESS) { 719 678 m_LOG_DTS_SVC_PRVDR(DTS_SP_MDS_SND_MSG_FAILED); 720 679 return m_DTS_DBG_SINK(NCSCC_RC_FAILURE, "dts_register_service: DTS: MDS send failed"); 721 680 } 722 m_LOG_DTS_EVT(DTS_EV_SVC_REG_SUCCESSFUL, key.ss_svc_id, key.node, (uns32)dta_key); 723 681 /* m_LOG_DTS_EVT(DTS_EV_SVC_REG_SUCCESSFUL, key.ss_svc_id, key.node, (uns32)dta_key); */ 724 682 return NCSCC_RC_SUCCESS; 725 683 } … … 740 698 uns32 dts_unregister_service(DTSV_MSG *msg) 741 699 { 700 printf("------- %s --------\n", __FUNCTION__); 742 701 DTS_CB *inst = &dts_cb; 743 702 SVC_KEY key, nt_key; … … 758 717 m_LOG_DTS_EVT(DTS_EV_SVC_DE_REG_REQ_RCV, msg->data.data.reg.svc_id, msg->node, (uns32)msg->dest_addr); 759 718 760 if (((node = (DTS_SVC_REG_TBL *)ncs_patricia_tree_get(&inst->svc_tbl, 761 (const uns8 *)&nt_key)) == NULL) 719 if (((node = (DTS_SVC_REG_TBL *)ncs_patricia_tree_get(&inst->svc_tbl, (const uns8 *)&nt_key)) == NULL) 762 720 || (node->dta_count == 0)) { 763 721 m_LOG_DTS_HEADLINE(DTS_HDLN_NULL_INST); … … 856 814 node->num_svcs--; 857 815 858 /* Close the open file and let the service log to a new file if 859 * the rowstatus is active 860 */ 816 /* Close the open file and let the service log to a new file */ 861 817 node->device.new_file = TRUE; 862 818 node->device.cur_file_size = 0; … … 864 820 /* Check whether we still need this patricia entry. 865 821 * If no then delete it and free mem */ 866 if ( (node->dta_count == 0) && (node->row_exist == FALSE)) {822 if (node->dta_count == 0) { 867 823 node->v_cd_list = NULL; 868 824 dts_circular_buffer_free(&dev->cir_buffer); … … 1070 1026 m_MMGR_FREE_OCT(msg->data.data.msg.log_msg.hdr.fmat_type); 1071 1027 return NCSCC_RC_FAILURE; 1072 } 1073 /* 1074 * Check whether the row status is set to active. If it is active then 1075 * use user configured policies, else log using default policies. 1076 */ 1077 else if ((node->my_node->row_status == NCSMIB_ROWSTATUS_ACTIVE) 1078 && (node->my_node->per_node_logging == NCS_SNMP_TRUE)) { 1028 } else if (node->my_node->per_node_logging == NCS_SNMP_TRUE) { 1079 1029 /* 1080 1030 * If per node logging is set then log the per node log file, … … 1083 1033 rc = dtsv_log_msg(msg, &node->my_node->svc_policy, &node->my_node->device, PER_NODE_FILE, spec); 1084 1034 1085 } else if (node->row_status == NCSMIB_ROWSTATUS_ACTIVE) {1086 rc = dtsv_log_msg(msg, &node->svc_policy, &node->device, PER_SVC_FILE, spec);1087 1035 } else { 1088 1036 /* … … 1279 1227 void dts_default_policy_set(DEFAULT_POLICY *dflt_plcy) 1280 1228 { 1229 printf("------- %s --------\n", __FUNCTION__); 1281 1230 /* Set Default Node Policies */ 1282 1231 … … 1321 1270 void dts_global_policy_set(GLOBAL_POLICY *gpolicy) 1322 1271 { 1272 printf("------- %s --------\n", __FUNCTION__); 1323 1273 gpolicy->global_logging = GLOBAL_LOGGING; 1324 1274 … … 1359 1309 Purpose: This Function is used for setting the default policies of the 1360 1310 node which are just registered with the DTS and also if the 1361 user creates the new row in the table.1311 user creates the new imm object. 1362 1312 1363 1313 Input: npolicy : Node policy table. … … 1371 1321 void dts_default_node_policy_set(POLICY *npolicy, OP_DEVICE *device, uns32 node_id) 1372 1322 { 1323 printf("------- %s --------\n", __FUNCTION__); 1373 1324 uns8 global_sev_filter = dts_cb.g_policy.g_policy.severity_bit_map; 1374 1325 uns32 global_cat_filter = dts_cb.g_policy.g_policy.category_bit_map; … … 1409 1360 Purpose: This Function is used for setting the default policies of the 1410 1361 services which are just registered with the DTS and also if the 1411 user creates the new row in the table.1362 user creates the new imm object. 1412 1363 1413 1364 Input: spolicy : Service policy table. … … 1422 1373 void dts_default_svc_policy_set(DTS_SVC_REG_TBL *service) 1423 1374 { 1375 printf("------- %s --------\n", __FUNCTION__); 1424 1376 POLICY *spolicy = &service->svc_policy; 1425 1377 OP_DEVICE *device = &service->device; … … 1427 1379 uns32 global_cat_filter = dts_cb.g_policy.g_policy.category_bit_map; 1428 1380 1429 /* Service filter policy would take from node filter if node 1430 * rowstatus is Active. otherwise it'll take frm global filter 1431 */ 1432 if ((service->my_node != NULL) && (service->my_node->row_status == NCSMIB_ROWSTATUS_ACTIVE)) { 1381 /* Service filter policy would take from node filter if node */ 1382 if (service->my_node != NULL) { 1433 1383 spolicy->enable = service->my_node->svc_policy.enable; 1434 1384 spolicy->category_bit_map = service->my_node->svc_policy.category_bit_map; 1435 1385 spolicy->severity_bit_map = service->my_node->svc_policy.severity_bit_map; 1386 1436 1387 } else { 1437 1388 spolicy->enable = dts_cb.g_policy.g_policy.enable; … … 1439 1390 spolicy->severity_bit_map = global_sev_filter; 1440 1391 } 1441 1442 1392 spolicy->log_dev = SVC_LOG_DEV; 1443 1393 spolicy->log_file_size = SVC_LOGFILE_SIZE; … … 1565 1515 uns32 dts_send_filter_config_msg(DTS_CB *inst, DTS_SVC_REG_TBL *svc, DTA_DEST_LIST *dta) 1566 1516 { 1517 printf("------- %s --------\n", __FUNCTION__); 1567 1518 DTSV_MSG msg; 1568 1519 if (dta == NULL) … … 1585 1536 /* No need of policy handles */ 1586 1537 /*msg.data.data.msg_fltr.policy_hdl = svc->svc_hdl; */ 1538 printf("enable_log = %d, category_bit_map = %d, severity_bit_map = %d\n", msg.data.data.msg_fltr.enable_log, msg.data.data.msg_fltr.category_bit_map, msg.data.data.msg_fltr.severity_bit_map); 1587 1539 1588 1540 if (dts_mds_send_msg(&msg, dta->dta_addr, inst->mds_hdl) != NCSCC_RC_SUCCESS) … … 1757 1709 uns32 dts_create_new_pat_entry(DTS_CB *inst, DTS_SVC_REG_TBL **node, uns32 node_id, SS_SVC_ID svc_id, uns8 log_level) 1758 1710 { 1711 printf("------- %s --------\n", __FUNCTION__); 1759 1712 DTS_SVC_REG_TBL *parent_node; 1760 1713 SVC_KEY nt_key; … … 1769 1722 (*node)->my_key.node = node_id; 1770 1723 (*node)->my_key.ss_svc_id = svc_id; 1771 /* Network order key added */1724 /* Network order key added */ 1772 1725 (*node)->ntwk_key.node = m_NCS_OS_HTONL(node_id); 1773 1726 (*node)->ntwk_key.ss_svc_id = m_NCS_OS_HTONL(svc_id); … … 1775 1728 1776 1729 (*node)->per_node_logging = log_level; 1777 (*node)->row_status = NCSMIB_ROWSTATUS_NOTINSERVICE;1778 1730 /* 1779 1731 * If service id is 0 it meand it is a node entry. … … 1797 1749 /*ncs_create_queue(&(*node)->v_cd_list); */ 1798 1750 (*node)->v_cd_list = NULL; 1799 1800 1751 dts_default_svc_policy_set((*node)); 1801 1752 } … … 1863 1814 1864 1815 device = &node->device; 1865 /*Check whether row status is set to Active. if it is active, then 1866 * initialize as per user configured policy, else initialize using 1867 * default policies */ 1868 if (node->row_status == NCSMIB_ROWSTATUS_ACTIVE) { 1869 policy = &node->svc_policy; 1870 if ((node->per_node_logging == NCS_SNMP_TRUE) && (key.ss_svc_id == 0)) { 1871 m_DTS_STBY_INIT(policy, device, PER_NODE_FILE); 1872 } else if (key.ss_svc_id != 0) { 1873 m_DTS_STBY_INIT(policy, device, PER_SVC_FILE); 1874 } 1875 } /*end of Rowstatus active */ 1876 else { 1877 if ((cb->dflt_plcy.node_dflt.per_node_logging == NCS_SNMP_TRUE) && (key.ss_svc_id == 0)) { 1878 policy = &cb->dflt_plcy.node_dflt.policy; 1879 m_DTS_STBY_INIT(policy, device, PER_NODE_FILE); 1880 } else if (key.ss_svc_id != 0) { 1881 policy = &cb->dflt_plcy.svc_dflt.policy; 1882 m_DTS_STBY_INIT(policy, device, PER_SVC_FILE); 1883 } /*end of else per_node_logging = TRUE */ 1816 policy = &node->svc_policy; 1817 if ((node->per_node_logging == NCS_SNMP_TRUE) && (key.ss_svc_id == 0)) { 1818 m_DTS_STBY_INIT(policy, device, PER_NODE_FILE); 1819 } else if (key.ss_svc_id != 0) { 1820 m_DTS_STBY_INIT(policy, device, PER_SVC_FILE); 1884 1821 } 1885 1822 /* Go to the next node(not service) in the tree */ … … 2046 1983 void dts_add_svc_to_dta(DTA_DEST_LIST *dta, DTS_SVC_REG_TBL *svc) 2047 1984 { 1985 printf("------- %s --------\n", __FUNCTION__); 2048 1986 SVC_ENTRY *dta_svc_entry, *tmp; 2049 1987 … … 2558 2496 fprintf(fp, "\nKey: {Node=%d, Svc_ID=%d}", svc->my_key.node, svc->my_key.ss_svc_id); 2559 2497 fprintf(fp, "\nNetwork-order Key: {Node=%u, Svc_ID=%u}", svc->ntwk_key.node, svc->ntwk_key.ss_svc_id); 2560 fprintf(fp, "\nPer_node_logging: %d, RowStatus: %d, Row Exists: %d", svc->per_node_logging, 2561 svc->row_status, svc->row_exist); 2498 fprintf(fp, "\nPer_node_logging: %d", svc->per_node_logging); 2562 2499 2563 2500 fprintf(fp, "\nPolicy info:\n------------------"); … … 2737 2674 printf("\nKey: {Node=%d, Svc_ID=%d}", svc->my_key.node, svc->my_key.ss_svc_id); 2738 2675 printf("\nNetwork-order Key: {Node=%d, Svc_ID=%d}", svc->ntwk_key.node, svc->ntwk_key.ss_svc_id); 2739 printf("\nPer_node_logging: %d, RowStatus: %d, Row Exists: %d", svc->per_node_logging, svc->row_status, 2740 svc->row_exist); 2676 printf("\nPer_node_logging: %d", svc->per_node_logging); 2741 2677 2742 2678 printf("\nPolicy info:\n------------------"); … … 2906 2842 2907 2843 printf("\nKey: {Node=%d, Svc_ID=%d}", svc->my_key.node, svc->my_key.ss_svc_id); 2908 printf("\nPer_node_logging: %d, RowStatus: %d, Row Exists: %d", svc->per_node_logging, svc->row_status, 2909 svc->row_exist); 2844 printf("\nPer_node_logging: %d", svc->per_node_logging); 2910 2845 2911 2846 printf("\nPolicy info:\n------------------"); … … 2960 2895 return; 2961 2896 } 2897 2898 /**************************************************************************\ 2899 Function: dts_handle_immnd_event 2900 2901 Purpose: Function used for handling the DTA up down events received 2902 from MDS. 2903 2904 Input: msg : Event message received from the MDS. 2905 2906 Returns: NCSCC_RC_SUCCESSS/NCSCC_RC_FAILURE 2907 2908 Notes: 2909 \**************************************************************************/ 2910 uns32 dts_handle_immnd_event(DTSV_MSG *msg) 2911 { 2912 SaAisErrorT error = SA_AIS_OK; 2913 DTS_CB *inst = &dts_cb; 2914 2915 m_DTS_LK(&inst->lock); 2916 m_LOG_DTS_LOCK(DTS_LK_LOCKED, &inst->lock); 2917 2918 m_LOG_DTS_SVC_PRVDR(DTS_SP_MDS_RCV_EVT); 2919 2920 switch (msg->data.data.evt.change) { /* Review change type */ 2921 case NCSMDS_DOWN: 2922 break; 2923 case NCSMDS_UP: 2924 m_LOG_DTS_DBGSTRLL(DTS_SERVICE, "Received IMMND up event for :", msg->node, (uns32)msg->dest_addr); 2925 if (inst->imm_init_done == FALSE) { 2926 if (dts_imm_initialize(inst) != SA_AIS_OK) { 2927 printf("imm initialize failed\n"); 2928 exit(1); 2929 } 2930 if (inst->ha_state == SA_AMF_HA_ACTIVE) { 2931 dts_reg_with_imm(inst); 2932 } 2933 2934 fds[FD_IMM].fd = inst->imm_sel_obj; 2935 fds[FD_IMM].events = POLLIN; 2936 nfds = FD_IMM + 1; 2937 inst->imm_init_done = TRUE; 2938 } 2939 break; 2940 2941 default: 2942 break; 2943 } /* End Switch */ 2944 m_DTS_UNLK(&inst->lock); 2945 m_LOG_DTS_LOCK(DTS_LK_UNLOCKED, &inst->lock); 2946 2947 return NCSCC_RC_SUCCESS; 2948 } -
osaf/services/infrastructure/dtsv/include/Makefile.am
r619 r770 38 38 dts.h \ 39 39 dts_log.h \ 40 dts_mapi.h \41 40 dts_mem.h \ 42 41 dts_opt.h \ … … 46 45 dtsv_mem.h \ 47 46 dtsv_msg.h \ 48 sysf_log.h 47 sysf_log.h \ 48 dts_imm.h 49 -
osaf/services/infrastructure/dtsv/include/dta.h
r623 r770 56 56 #include "ncsencdec.h" 57 57 #include "ncs_stack.h" 58 #include "ncs_mib.h"59 58 #include "ncs_mtbl.h" 60 59 #include "ncs_log.h" -
osaf/services/infrastructure/dtsv/include/dta_pvt.h
r623 r770 257 257 258 258 D i s t r i b u t e d T r a c i n g A g e n t L o c k s 259 260 The DTA locks follow the lead of the master MIB Access Broker setting261 to determine what type of lock to implement.262 259 263 260 *************************************************************************/ -
osaf/services/infrastructure/dtsv/include/dts.h
r623 r770 56 56 #include "ncsencdec.h" 57 57 #include "ncs_stack.h" 58 #include "ncs_mib.h"59 58 #include "ncs_mtbl.h" 60 59 #include "ncs_log.h" 61 60 #include "ncs_lib.h" 62 61 #include "ncs_util.h" 63 #include "ncsmiblib.h"64 62 65 63 #if (NCS_CLI == 1) … … 102 100 #include "dta_api.h" 103 101 #include "dta_papi.h" 104 #include "dts_mapi.h"105 102 #include "dts_log.h" 106 103 #include "dts_api.h" -
osaf/services/infrastructure/dtsv/include/dts_ckpt_updt.h
r623 r770 49 49 #define m_DTS_SET_SVC_REG_TBL(svc, param) \ 50 50 { \ 51 svc->row_status = param->row_status; \52 svc->row_exist = param->row_exist; \53 51 svc->per_node_logging = param->per_node_logging; \ 54 52 svc->svc_policy.enable = param->svc_policy.enable; \ -
osaf/services/infrastructure/dtsv/include/dts_log.h
r623 r770 256 256 DTS_FC_CIRBUFF, 257 257 DTS_FC_STR, 258 DTS_FC_UPDT 258 DTS_FC_UPDT, 259 DTS_FC_GENLOG 259 260 } DTS_FLEX_SETS; 260 261 … … 285 286 DTS_LID_ASYNC_UPDT, 286 287 DTS_LID_FLOW_UP, 287 DTS_LID_FLOW_DOWN 288 DTS_LID_FLOW_DOWN, 289 DTS_LID_GENLOG 288 290 } DTS_LOG_IDS; 289 291 … … 312 314 EXTERN_C void log_dts_dbg_name(uns8 id, char *str, uns32 svc_id, char *svc); 313 315 EXTERN_C void log_dts_chkp_evt(uns8 id); 316 317 #define dts_log(severity, format, args...) _dts_log((severity), __FUNCTION__, (format), ##args) 318 void _dts_log(uns8 severity, const char *function, const char *format, ...); 314 319 315 320 #define m_LOG_DTS_HEADLINE(id) log_dts_headline (id ) -
osaf/services/infrastructure/dtsv/include/dts_pvt.h
r623 r770 17 17 18 18 #include <configmake.h> 19 19 #include "saImmOi.h" 20 20 /***************************************************************************** 21 21 .............................................................................. … … 61 61 #define EXPANDED_FORMAT 0x02 62 62 63 #ifndef NCSDTSV_CLI_MIB_FETCH_TIMEOUT64 #define NCSDTSV_CLI_MIB_FETCH_TIMEOUT 60065 #endif66 63 67 64 #define DTS_AMF_HEALTH_CHECK_KEY "A9FD64E12C12" /* Some randomely generated key */ … … 352 349 NCS_BOOL dflt_logging; /* TRUE - Logging enabled by default, 353 350 FALSE - Logging Disabled by default */ 354 /* Align datatype with NCS-DTSV-MIBobject */351 /* Align datatype with IMM object */ 355 352 uns32 g_num_log_files; /*Number of old log files to be saved per service or per node */ 356 353 /*Smik - Added for console printing */ … … 391 388 NCS_BOOL per_node_logging; /* Set to TRUE if Node Logging is used 392 389 Set to FALSE if Service Logging is used */ 393 uns32 row_status;394 390 395 391 SVC_KEY my_key; /* Key used for searching the element, Node ID + Service ID */ … … 405 401 POLICY svc_policy; /* Service policy table */ 406 402 OP_DEVICE device; 407 NCS_BOOL row_exist;408 403 /*NCSFL_ASCII_SPEC *my_spec; */ 409 404 struct dts_svc_reg_tbl *my_node; … … 474 469 char cb_log_str[SYSF_FL_LOG_BUFF_SIZE]; 475 470 476 uns32 oac_hdl;477 471 MDS_HDL mds_hdl; 478 472 NCSCONTEXT task_handle; … … 506 500 SaAmfRecommendedRecoveryT recommendedRecovery; 507 501 508 /* Table Handles */509 uns32 global_tbl_row_hdl;510 uns32 node_tbl_row_hdl;511 uns32 svc_tbl_row_hdl;512 uns32 cirbuff_op_tbl_row_hdl;513 /* Table handle for DTSv CLI command table */514 uns32 cmd_op_tbl_row_hdl;515 516 502 /* 517 503 * MBCSv related variables. … … 559 545 SaInvocationT csi_cb_invocation; 560 546 561 uns8 cli_bit_map; /*Bit map to reflect change made in global547 uns8 cli_bit_map; /*Bit map to reflect change made in global 562 548 policy or node policy through CLI */ 563 549 MDS_DEST svc_rmv_mds_dest; /*MDS_DEST corrsp to DTA from which … … 567 553 spec loaded for this service. 568 554 Needed only for checkpointing. */ 555 SaImmOiHandleT immOiHandle; 556 SaSelectionObjectT imm_sel_obj; 569 557 #if (DTS_FLOW == 1) 570 558 uns32 msg_count; 571 559 #endif 560 NCS_BOOL imm_init_done; 572 561 573 562 } DTS_CB; … … 890 879 } \ 891 880 892 /* Define the Ranks for the persistent MIB tables */881 /* Define the Ranks for the persistent IMM Objects */ 893 882 typedef enum { 894 883 DTSV_TBL_RANK_MIN = 1, … … 916 905 EXTERN_C uns32 dts_handle_signal(void); 917 906 EXTERN_C uns32 dts_handle_dta_event(DTSV_MSG *msg); 907 EXTERN_C uns32 dts_handle_immnd_event(DTSV_MSG *msg); 918 908 EXTERN_C uns32 dts_register_service(DTSV_MSG *msg); 919 909 EXTERN_C uns32 dts_unregister_service(DTSV_MSG *msg); … … 937 927 dts_create_new_pat_entry(DTS_CB *inst, DTS_SVC_REG_TBL **node, uns32 node_id, SS_SVC_ID svc_id, uns8 log_level); 938 928 939 /***************************************************************************940 * DTSv defines for functions added for PSSv integration941 ***************************************************************************/942 EXTERN_C uns32 dts_mab_snd_warmboot_req(DTS_CB *cb);943 EXTERN_C uns32 dtsv_policy_set_oct(NCSMIB_ARG *arg, NCSCONTEXT data);944 EXTERN_C uns32 dtsv_node_extract_oct(NCSMIB_PARAM_VAL *param_val,945 NCSMIB_VAR_INFO *var_info, NCSCONTEXT data, NCSCONTEXT buffer);946 EXTERN_C uns32 dtsv_node_policy_set_oct(DTS_CB *cb, NCSMIB_ARG *arg, POLICY *policy);947 EXTERN_C uns32 dtsv_svc_extract_oct(NCSMIB_PARAM_VAL *param_val,948 NCSMIB_VAR_INFO *var_info, NCSCONTEXT data, NCSCONTEXT buffer);949 EXTERN_C uns32 dtsv_svc_policy_set_oct(DTS_CB *cb, NCSMIB_ARG *arg, POLICY *policy);950 EXTERN_C uns32 dtsv_global_extract_oct(NCSMIB_PARAM_VAL *param_val,951 NCSMIB_VAR_INFO *var_info, NCSCONTEXT data, NCSCONTEXT buffer);952 EXTERN_C uns32 dtsv_global_policy_set_oct(DTS_CB *cb, NCSMIB_ARG *arg, POLICY *policy);953 EXTERN_C uns32 ncsdtsvscalars_tbl_reg(void);954 EXTERN_C uns32 ncsdtsvnodelogpolicyentry_tbl_reg(void);955 EXTERN_C uns32 ncsdtsvservicelogpolicyentry_tbl_reg(void);956 929 957 930 /************************************************************************ … … 980 953 EXTERN_C uns32 dts_free_msg_content(NCSFL_NORMAL *msg); 981 954 982 /************************************************************************983 MIB Requests Processing functions984 ************************************************************************/985 EXTERN_C void dtsv_populate_global_policy_mibinfo(void);986 EXTERN_C void dtsv_populate_node_policy_mibinfo(void);987 EXTERN_C void dtsv_populate_svc_policy_mibinfo(void);988 EXTERN_C uns32 ncs_dtsv_mib_request(NCSMIB_ARG *mib_args);989 EXTERN_C uns32 dtsv_global_policy_table_register(void);990 EXTERN_C uns32 dtsv_node_policy_table_register(void);991 EXTERN_C uns32 dtsv_svc_policy_table_register(void);992 EXTERN_C uns32 dtsv_cirbuff_op_table_register(void);993 994 EXTERN_C uns32 dtsv_policy_tbl_req(NCSMIB_ARG *args);995 955 996 956 /************************************************************************ … … 1019 979 EXTERN_C int32 dts_open_conf_cons(DTS_CB *cb, uns32 mode, char *str); 1020 980 1021 /*****************************************************************************1022 MIB Registration and Request handling routines1023 *****************************************************************************/1024 1025 EXTERN_C uns32 dts_register_tables(DTS_CB *inst);1026 EXTERN_C uns32 dts_unregister_tables(DTS_CB *inst);1027 EXTERN_C uns32 dts_mib_request(struct ncsmib_arg *mib_args);1028 981 1029 982 /************************************************************************ -
osaf/services/infrastructure/dtsv/include/dtsv_msg.h
r623 r770 101 101 /* Message type indicating the congestion state of DTS as seen by DTA */ 102 102 DTS_CONGESTION_HIT, 103 DTS_CONGESTION_CLEAR 103 DTS_CONGESTION_CLEAR, 104 DTS_IMMND_EVT_RCV 104 105 } DTS_SVC_MSG_TYPE; 105 106 -
osaf/services/infrastructure/dtsv/include/dtsvcli.h
r623 r770 30 30 #define DTSVCLI_H 31 31 32 #define DTSV_MOTV NCSDTSV_CLI_MIB_FETCH_TIMEOUT /* defined in dtsv-opt.h */33 #define MIB_VERR "\nMIB returned error code"34 32 35 33 EXTERN_C uns32 ncsdtsv_cef_load_lib_req(NCS_LIB_REQ_INFO *libreq); … … 58 56 EXTERN_C uns32 dtsv_cef_set_dflt_plcy(NCSCLI_ARG_SET *arg_list, NCSCLI_CEF_DATA *cef_data); 59 57 60 EXTERN_C uns32 dtsv_cfg_mib_arg(NCSMIB_ARG *mib,61 uns32 *index,62 uns32 index_len, NCSMIB_TBL_ID tid, uns32 usr_hdl, uns32 ss_hdl, NCSMIB_RSP_FNC rspfnc);63 64 EXTERN_C uns32 dtsv_set_mib_int(NCSMIB_ARG *mib,65 uns32 pid, uns32 r_status, uns32 val, NCSMIB_REQ_FNC reqfnc, char *err);66 67 EXTERN_C uns32 dtsv_set_mib_oct(NCSMIB_ARG *mib,68 uns32 pid, uns32 r_status, NCSCONTEXT val, uns16 len, NCSMIB_REQ_FNC reqfnc, char *err);69 70 EXTERN_C uns32 dtsv_set_mib_int_val(NCSMIB_ARG *mib, uns32 pid, uns32 val, NCSMIB_REQ_FNC reqfnc, char *err);71 72 EXTERN_C uns32 dtsv_chk_mib_rsp(char *err, NCSMIB_ARG *arg, uns32 key);73 74 EXTERN_C uns32 dtsv_cirbuff_setrow(NCSMIB_ARG *mib,75 NCSMIB_REQ_FNC reqfunc,76 uns32 node_id, uns32 svc_id, uns32 operation, uns8 device, char *err);77 78 EXTERN_C uns32 dtsv_get_mib_int(NCSMIB_ARG *mib, uns32 pid, uns8 *val, NCSMIB_REQ_FNC reqfnc, char *err);79 80 EXTERN_C uns32 dtsv_get_mib_oct(NCSMIB_ARG *mib,81 uns32 pid, NCSCONTEXT val, uns32 *len, NCSMIB_REQ_FNC reqfnc, char *err);82 83 EXTERN_C uns32 dtsv_send_cmd_mib_req(NCSMIB_ARG *mib, NCSCLI_CEF_DATA *cef_data, char *err);84 85 EXTERN_C uns32 dtsv_cli_display(uns32 cli_hdl, char *str);86 EXTERN_C uns32 dtsv_cli_done(uns8 *string, uns32 status, uns32 cli_hdl);87 EXTERN_C uns32 dtsv_cli_cmd_rsp(NCSMIB_ARG *resp, uns32 cli_hdl);88 89 #define m_RETURN_DTSV_CLI_DONE(st,s,k) dtsv_cli_done(st,s,k)90 58 91 59 #endif -
osaf/services/infrastructure/dtsv/logstr/dts_logstr.c
r623 r770 302 302 "DTS %s CONGESTION EVENT HIT. INFO & DEBUG severity logs will be dropped for NODE: 0x%08lx & Process Id: %ld\n\n"}, 303 303 {DTS_LID_FLOW_DOWN, "TLL", "DTS %s CONGESTION EVENT CLEARED. NODE: 0x%08lx Process Id: %ld\n\n"}, 304 {DTS_LID_GENLOG, NCSFL_TYPE_TC, "%s %s\n"}, 304 305 {0, 0, 0} 305 306 }; -
osaf/services/saf/immsv/config/imm.xml
r764 r770 1455 1455 </attr> 1456 1456 </class> 1457 <class name="OpenSAFDtsvGlobalLogPolicy"> 1458 <category>SA_CONFIG</category> 1459 <rdn> 1460 <name>opensafGlobalLogPolicy</name> 1461 <type>SA_STRING_T</type> 1462 <category>SA_CONFIG</category> 1463 <flag>SA_INITIALIZED</flag> 1464 </rdn> 1465 <attr> 1466 <name>osafDtsvGlobalMessageLogging</name> 1467 <type>SA_UINT32_T</type> 1468 <category>SA_CONFIG</category> 1469 <flag>SA_WRITABLE</flag> 1470 <default-value>0</default-value> 1471 </attr> 1472 <attr> 1473 <name>osafDtsvGlobalLogDevice</name> 1474 <type>SA_UINT32_T</type> 1475 <category>SA_CONFIG</category> 1476 <flag>SA_WRITABLE</flag> 1477 </attr> 1478 <attr> 1479 <name>osafDtsvGlobalLogFileSize</name> 1480 <type>SA_UINT32_T</type> 1481 <category>SA_CONFIG</category> 1482 <flag>SA_WRITABLE</flag> 1483 <default-value>1000</default-value> 1484 </attr> 1485 <attr> 1486 <name>osafDtsvGlobalFileLogCompFormat</name> 1487 <type>SA_UINT32_T</type> 1488 <category>SA_CONFIG</category> 1489 <flag>SA_WRITABLE</flag> 1490 <default-value>0</default-value> 1491 </attr> 1492 <attr> 1493 <name>osafDtsvGlobalCircularBuffSize</name> 1494 <type>SA_UINT32_T</type> 1495 <category>SA_CONFIG</category> 1496 <flag>SA_WRITABLE</flag> 1497 <default-value>111</default-value> 1498 </attr> 1499 <attr> 1500 <name>osafDtsvGlobalCirBuffCompFormat</name> 1501 <type>SA_UINT32_T</type> 1502 <category>SA_CONFIG</category> 1503 <flag>SA_WRITABLE</flag> 1504 <default-value>0</default-value> 1505 </attr> 1506 <attr> 1507 <name>osafDtsvGlobalLoggingState</name> 1508 <type>SA_UINT32_T</type> 1509 <category>SA_CONFIG</category> 1510 <flag>SA_WRITABLE</flag> 1511 <default-value>1</default-value> 1512 </attr> 1513 <attr> 1514 <name>osafDtsvGlobalCategoryBitMap</name> 1515 <type>SA_UINT32_T</type> 1516 <category>SA_CONFIG</category> 1517 <flag>SA_WRITABLE</flag> 1518 <default-value>-1</default-value> 1519 </attr> 1520 <attr> 1521 <name>osafDtsvGlobalSeverityBitMap</name> 1522 <type>SA_UINT32_T</type> 1523 <category>SA_CONFIG</category> 1524 <flag>SA_WRITABLE</flag> 1525 <default-value>252</default-value> 1526 </attr> 1527 <attr> 1528 <name>osafDtsvGlobalNumOfLogFiles</name> 1529 <type>SA_UINT32_T</type> 1530 <category>SA_CONFIG</category> 1531 <flag>SA_WRITABLE</flag> 1532 <default-value>10</default-value> 1533 </attr> 1534 <attr> 1535 <name>osafDtsvGlobalLogMsgSequencing</name> 1536 <type>SA_UINT32_T</type> 1537 <category>SA_CONFIG</category> 1538 <flag>SA_WRITABLE</flag> 1539 <default-value>0</default-value> 1540 </attr> 1541 <attr> 1542 <name>osafDtsvGlobalCloseOpenFiles</name> 1543 <type>SA_UINT32_T</type> 1544 <category>SA_CONFIG</category> 1545 <flag>SA_WRITABLE</flag> 1546 <default-value>0</default-value> 1547 </attr> 1548 </class> 1549 <class name="OpenSAFDtsvNodeLogPolicy"> 1550 <category>SA_CONFIG</category> 1551 <rdn> 1552 <name>opensafNodeLogPolicy</name> 1553 <type>SA_STRING_T</type> 1554 <category>SA_CONFIG</category> 1555 <flag>SA_INITIALIZED</flag> 1556 </rdn> 1557 <attr> 1558 <name>osafDtsvNodeMessageLogging</name> 1559 <type>SA_UINT32_T</type> 1560 <category>SA_CONFIG</category> 1561 <flag>SA_WRITABLE</flag> 1562 <default-value>0</default-value> 1563 </attr> 1564 <attr> 1565 <name>osafDtsvNodeLogDevice</name> 1566 <type>SA_UINT32_T</type> 1567 <category>SA_CONFIG</category> 1568 <flag>SA_WRITABLE</flag> 1569 </attr> 1570 <attr> 1571 <name>osafDtsvNodeLogFileSize</name> 1572 <type>SA_UINT32_T</type> 1573 <category>SA_CONFIG</category> 1574 <flag>SA_WRITABLE</flag> 1575 <default-value>1000</default-value> 1576 </attr> 1577 <attr> 1578 <name>osafDtsvNodeFileLogCompFormat</name> 1579 <type>SA_UINT32_T</type> 1580 <category>SA_CONFIG</category> 1581 <flag>SA_WRITABLE</flag> 1582 <default-value>0</default-value> 1583 </attr> 1584 <attr> 1585 <name>osafDtsvNodeCircularBuffSize</name> 1586 <type>SA_UINT32_T</type> 1587 <category>SA_CONFIG</category> 1588 <flag>SA_WRITABLE</flag> 1589 <default-value>120</default-value> 1590 </attr> 1591 <attr> 1592 <name>osafDtsvNodeCirBuffCompFormat</name> 1593 <type>SA_UINT32_T</type> 1594 <category>SA_CONFIG</category> 1595 <flag>SA_WRITABLE</flag> 1596 <default-value>0</default-value> 1597 </attr> 1598 <attr> 1599 <name>osafDtsvNodeLoggingState</name> 1600 <type>SA_UINT32_T</type> 1601 <category>SA_CONFIG</category> 1602 <flag>SA_WRITABLE</flag> 1603 <default-value>1</default-value> 1604 </attr> 1605 <attr> 1606 <name>osafDtsvNodeCategoryBitMap</name> 1607 <type>SA_UINT32_T</type> 1608 <category>SA_CONFIG</category> 1609 <flag>SA_WRITABLE</flag> 1610 <default-value>-1</default-value> 1611 </attr> 1612 <attr> 1613 <name>osafDtsvNodeSeverityBitMap</name> 1614 <type>SA_UINT32_T</type> 1615 <category>SA_CONFIG</category> 1616 <flag>SA_WRITABLE</flag> 1617 <default-value>252</default-value> 1618 </attr> 1619 </class> 1620 <class name="OpenSAFDtsvServiceLogPolicy"> 1621 <category>SA_CONFIG</category> 1622 <rdn> 1623 <name>opensafServiceLogPolicy</name> 1624 <type>SA_STRING_T</type> 1625 <category>SA_CONFIG</category> 1626 <flag>SA_INITIALIZED</flag> 1627 </rdn> 1628 <attr> 1629 <name>osafDtsvServiceLogDevice</name> 1630 <type>SA_UINT32_T</type> 1631 <category>SA_CONFIG</category> 1632 <flag>SA_WRITABLE</flag> 1633 </attr> 1634 <attr> 1635 <name>osafDtsvServiceLogFileSize</name> 1636 <type>SA_UINT32_T</type> 1637 <category>SA_CONFIG</category> 1638 <flag>SA_WRITABLE</flag> 1639 <default-value>1000</default-value> 1640 </attr> 1641 <attr> 1642 <name>osafDtsvServiceFileLogCompFormat</name> 1643 <type>SA_UINT32_T</type> 1644 <category>SA_CONFIG</category> 1645 <flag>SA_WRITABLE</flag> 1646 <default-value>0</default-value> 1647 </attr> 1648 <attr> 1649 <name>osafDtsvServiceCircularBuffSize</name> 1650 <type>SA_UINT32_T</type> 1651 <category>SA_CONFIG</category> 1652 <flag>SA_WRITABLE</flag> 1653 <default-value>12</default-value> 1654 </attr> 1655 <attr> 1656 <name>osafDtsvServiceCirBuffCompFormat</name> 1657 <type>SA_UINT32_T</type> 1658 <category>SA_CONFIG</category> 1659 <flag>SA_WRITABLE</flag> 1660 <default-value>0</default-value> 1661 </attr> 1662 <attr> 1663 <name>osafDtsvServiceLoggingState</name> 1664 <type>SA_UINT32_T</type> 1665 <category>SA_CONFIG</category> 1666 <flag>SA_WRITABLE</flag> 1667 <default-value>1</default-value> 1668 </attr> 1669 <attr> 1670 <name>osafDtsvServiceCategoryBitMap</name> 1671 <type>SA_UINT32_T</type> 1672 <category>SA_CONFIG</category> 1673 <flag>SA_WRITABLE</flag> 1674 <default-value>-1</default-value> 1675 </attr> 1676 <attr> 1677 <name>osafDtsvServiceSeverityBitMap</name> 1678 <type>SA_UINT32_T</type> 1679 <category>SA_CONFIG</category> 1680 <flag>SA_WRITABLE</flag> 1681 <default-value>252</default-value> 1682 </attr> 1683 </class> 1457 1684 1458 1685 <class name="SaMsgQueue"> … … 2006 2233 </attr> 2007 2234 </object> 2235 <object class="SaAmfApplication"> 2236 <dn>safApp=safDtsvService</dn> 2237 <attr> 2238 <name>saAmfAppType</name> 2239 <value>safVersion=4.0.0,safAppType=OpenSafApplicationType</value> 2240 </attr> 2241 </object> 2008 2242 <object class="SaLogStreamConfig"> 2009 2243 <dn>safLgStrCfg=saLogAlarm,safApp=safLogService</dn> … … 4276 4510 </attr> 4277 4511 </object> 4512 <object class="OpenSAFDtsvGlobalLogPolicy"> 4513 <dn>opensafGlobalLogPolicy=safDtsv,safApp=safDtsvService</dn> 4514 <attr> 4515 <name>osafDtsvGlobalMessageLogging</name> 4516 <value>0</value> 4517 </attr> 4518 <attr> 4519 <name>osafDtsvGlobalLogDevice</name> 4520 <value>128</value> 4521 </attr> 4522 <attr> 4523 <name>osafDtsvGlobalLogFileSize</name> 4524 <value>1000</value> 4525 </attr> 4526 <attr> 4527 <name>osafDtsvGlobalFileLogCompFormat</name> 4528 <value>0</value> 4529 </attr> 4530 <attr> 4531 <name>osafDtsvGlobalCircularBuffSize</name> 4532 <value>111</value> 4533 </attr> 4534 <attr> 4535 <name>osafDtsvGlobalCirBuffCompFormat</name> 4536 <value>0</value> 4537 </attr> 4538 <attr> 4539 <name>osafDtsvGlobalLoggingState</name> 4540 <value>1</value> 4541 </attr> 4542 <attr> 4543 <name>osafDtsvGlobalSeverityBitMap</name> 4544 <value>252</value> 4545 </attr> 4546 <attr> 4547 <name>osafDtsvGlobalNumOfLogFiles</name> 4548 <value>10</value> 4549 </attr> 4550 <attr> 4551 <name>osafDtsvGlobalLogMsgSequencing</name> 4552 <value>0</value> 4553 </attr> 4554 <attr> 4555 <name>osafDtsvGlobalCloseOpenFiles</name> 4556 <value>0</value> 4557 </attr> 4558 </object> 4278 4559 </imm:IMM-contents> -
osaf/snmp/miblib/Makefile.am
r706 r770 19 19 MAINTAINERCLEANFILES = Makefile.in 20 20 21 SUBDIRS = avsv dtsvpssv21 SUBDIRS = avsv pssv -
osaf/snmp/mibs/Makefile.mibs
r706 r770 3 3 ESMI-NCS-AVM-MIB \ 4 4 ESMI-NCS-AVSV-MIB \ 5 ESMI-NCS-DTSV-MIB \6 5 ESMI-NCS-PSR-MIB \ 7 6 ESMI-SAF-AMF-MIB \ … … 9 8 NCS-AVM-MIB \ 10 9 NCS-AVSV-MIB \ 11 NCS-DTSV-MIB \12 10 NCS-PSR-MIB \ 13 11 SAF-AIS-TC-MIB \ -
osaf/snmp/pssv/Makefile.am
r619 r770 19 19 MAINTAINERCLEANFILES = Makefile.in 20 20 21 SUBDIRS = config avsv dtsv21 SUBDIRS = config avsv -
osaf/snmp/subagt/Makefile.am
r626 r770 41 41 $(AM_CPPFLAGS) \ 42 42 -I$(top_builddir)/osaf/snmp/subagt/services/avsv \ 43 -I$(top_builddir)/osaf/snmp/subagt/services/dtsv \44 43 -I$(top_builddir)/osaf/snmp/subagt/services/avsv/avm \ 45 44 -I$(top_srcdir)/osaf/services/infrastructure/masv/include … … 64 63 $(top_builddir)/osaf/snmp/subagt/services/avsv/avm/libavm_subagt.la \ 65 64 $(top_builddir)/osaf/snmp/subagt/services/avsv/libavsv_subagt.la \ 66 $(top_builddir)/osaf/snmp/subagt/services/dtsv/libdtsv_subagt.la \67 65 $(top_builddir)/osaf/libs/agents/infrastructure/rda/librda.la -
osaf/snmp/subagt/services/Makefile.am
r706 r770 19 19 MAINTAINERCLEANFILES = Makefile.in 20 20 21 SUBDIRS = avsv dtsvpssv21 SUBDIRS = avsv pssv -
osaf/snmp/subagt/subagt_amf.c
r623 r770 48 48 49 49 #include "avsv_subagt_init.h" 50 #include "dtsv_subagt_init.h"51 50 #include "avm_subagt_init.h" 52 51 #include "rda_papi.h"
