Changeset 770:90d705524ce0

Show
Ignore:
Timestamp:
01/20/10 04:50:29 (8 months ago)
Author:
Shekhar <chandrasekhar.yadav@…>
Branch:
default
Message:

DTSv OI integration with IMMSv (#618)

Files:
3 added
7 removed
31 modified

Legend:

Unmodified
Added
Removed
  • configure.ac

    r761 r770  
    622622        osaf/cli/services/Makefile 
    623623        osaf/cli/services/avsv/Makefile 
    624         osaf/cli/services/dtsv/Makefile 
    625624        osaf/cli/services/psr/Makefile 
    626625        osaf/snmp/Makefile 
     
    632631        osaf/snmp/miblib/avsv/Makefile 
    633632        osaf/snmp/miblib/avsv/avm/Makefile 
    634         osaf/snmp/miblib/dtsv/Makefile 
    635         osaf/snmp/miblib/dtsv/dts/Makefile 
    636633        osaf/snmp/miblib/pssv/Makefile 
    637634        osaf/snmp/miblib/pssv/pss/Makefile 
     
    641638        osaf/snmp/pssv/avsv/Makefile 
    642639        osaf/snmp/pssv/avsv/avm/Makefile 
    643         osaf/snmp/pssv/dtsv/Makefile 
    644640        osaf/snmp/scripts/Makefile 
    645641        osaf/snmp/scripts/ncs_snmpsubagt_clean 
     
    654650        osaf/snmp/subagt/services/avsv/Makefile 
    655651        osaf/snmp/subagt/services/avsv/avm/Makefile 
    656         osaf/snmp/subagt/services/dtsv/Makefile 
    657652        osaf/snmp/subagt/services/pssv/Makefile 
    658653        osaf/libs/Makefile 
  • opensaf.spec.in

    r761 r770  
    391391%{_pkglibdir}/libcli_logstr.so.* 
    392392%{_pkglibdir}/libcpsv_logstr.so.* 
    393 %{_pkglibdir}/libdts_clicef.so.* 
    394393%{_pkglibdir}/libdts_logstr.so.* 
    395 %{_pkglibdir}/libdts_pssv.so.* 
    396 %{_pkglibdir}/libdtsv_subagt.so.* 
    397394%{_pkglibdir}/libedsv_logstr.so.* 
    398395%{_pkglibdir}/libglsv_logstr.so.* 
  • osaf/cli/services/Makefile.am

    r621 r770  
    1919MAINTAINERCLEANFILES = Makefile.in 
    2020 
    21 SUBDIRS = avsv dtsv psr 
     21SUBDIRS = avsv psr 
  • osaf/services/infrastructure/dtsv/dts/Makefile.am

    r741 r770  
    2727        $(AM_CPPFLAGS) \ 
    2828        -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 
    3031 
    3132ncs_dts_SOURCES = \ 
    3233        $(top_srcdir)/osaf/libs/core/common/ncs_main_pvt.c \ 
     34        $(top_srcdir)/osaf/tools/safimm/src/immutil.c \ 
    3335        dts_amf.c \ 
    3436        dts_api.c \ 
     
    4143        dts_def.c \ 
    4244        dts_dl_api.c \ 
    43         dts_glpolc.c \ 
    4445        dts_log.c \ 
    4546        dts_mds.c \ 
    46         dts_mib.c \ 
    47         dts_nodepolc.c \ 
     47        dts_logpolc.c \ 
    4848        dts_pvt.c \ 
    4949        dts_seq.c \ 
    50         dts_svcpolc.c \ 
    5150        dts_tgt.c \ 
     51        dts_imm.c \ 
    5252        sysf_log.c 
    5353 
     
    5959        $(top_builddir)/osaf/libs/saf/libSaAmf/libSaAmf.la \ 
    6060        $(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  
    205205                return m_DTS_DBG_SINK(NCSCC_RC_FAILURE, "dts_svc_create: MBCSv registration failed"); 
    206206        } 
    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         } 
    230207#ifdef __NCSINC_LINUX__ 
    231208        { 
     
    241218                if (dts_create_log_dir_path(inst->log_path) != NCSCC_RC_SUCCESS) { 
    242219                        m_NCS_SEL_OBJ_DESTROY(inst->sighdlr_sel_obj); 
    243                         dts_unregister_tables(inst); 
    244220                        dtsv_mbcsv_deregister(inst); 
    245221                        dts_mds_unreg(inst, TRUE); 
     
    259235        strcpy(inst->log_path, LOG_PATH); 
    260236#endif 
    261  
     237        inst->imm_init_done = FALSE; 
    262238        m_DTS_UNLK(&inst->lock); 
    263239 
     
    368344        ncs_patricia_tree_destroy(&inst->svcid_asciispec_tree); 
    369345        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"); 
    375346 
    376347        m_NCS_SEL_OBJ_DESTROY(inst->sighdlr_sel_obj); 
  • osaf/services/infrastructure/dtsv/dts/dts_cbop.c

    r623 r770  
    2525 
    2626  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. 
    3527  dump_global_buffer_log             - CB - dump global buffer log. 
    3628  dump_per_node_buffer_log           - CB - dump per node buffer log. 
     
    5042 
    5143/* Static vriable declarations */ 
    52 static NCSMIB_OBJ_INFO objinfo; 
    53 static NCSMIB_VAR_INFO varinfo[dtsvCirBuffOpMax_Id]; 
    5444static uns16 idx[2]; 
    5545 
    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 uns32 
    61 dtsv_extract_cirbuff_op_obj(NCSMIB_PARAM_VAL *param_val, NCSMIB_VAR_INFO *var_info, NCSCONTEXT data, NCSCONTEXT buffer); 
    62 static uns32 
    63 dtsv_next_cirbuff_op_obj(NCSCONTEXT cb, NCSMIB_ARG *arg, NCSCONTEXT *data, uns32 *next_inst_id, uns32 *next_inst_len); 
    64 static uns32 
    65 dtsv_setrow_cirbuff_op_obj(NCSCONTEXT cb, NCSMIB_ARG *args, 
    66                            NCSMIB_SETROW_PARAM_VAL *params, struct ncsmib_obj_info *objinfo, NCS_BOOL flag); 
    6746 
    6847static uns32 dump_global_buffer_log(DTS_CB *inst, uns8 device); 
     
    7049static uns32 dump_svc_per_node_buffer_log(DTS_CB *inst, SVC_KEY *key, uns8 device); 
    7150 
    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_register 
    76  Purpose:  Circular Buffer Operation table register routine 
    77  Input:    void 
    78  Returns:  NCSCC_RC_SUCCESSS/NCSCC_RC_FAILURE 
    79  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_info 
    105  Purpose:  This routine popultaes the Circular Buffer Operation table information 
    106  Input:    pInfo: Pointer to NCSMIB_TBL_INFO structure 
    107  Returns:  NCSCC_RC_SUCCESSS/NCSCC_RC_FAILURE 
    108  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_info 
    135  Purpose:  This routine populates the Circular Buffer Operation param information 
    136  Input:    pInfo: Pointer to NCSMIB_VAR_INFO structures 
    137  Returns:  NCSCC_RC_SUCCESSS/NCSCC_RC_FAILURE 
    138  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_obj 
    185 * Purpose:  Circular Buffer Operation table's set object routine 
    186 * Input:    cb       : DTS_CB pointer 
    187 *           arg      : MIB arg pointer 
    188 *           var_info : varinfo pointer 
    189 *           flag     : Tells the operation to be performed            
    190 * Returns:  NCSCC_RC_SUCCESSS/NCSCC_RC_FAILURE 
    191 * 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_obj 
    201 * Purpose:  Circular Buffer Operation table's get object routine 
    202 * Input:    cb       : DTS_CB pointer 
    203 *           arg      : MIB arg pointer*         
    204 *           data     : Pointer of the data structure    
    205 * Returns:  NCSCC_RC_SUCCESSS/NCSCC_RC_FAILURE 
    206 * 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_obj 
    216 * Purpose:  Circular Buffer Operation table's extract object value routine 
    217 * Input:    param_val: Param pointer 
    218 *           var_info : var_info pointer 
    219 *           data     : Pointer to the data structure 
    220 *           buffer   : Buffer to get the octect data            
    221 * Returns:  NCSCC_RC_SUCCESSS/NCSCC_RC_FAILURE 
    222 * Notes:   
    223 **************************************************************************/ 
    224 static uns32 
    225 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_obj 
    233 * Purpose:  Circular Buffer Operation table's next object routine 
    234 * Input:    cb    : DTS_CB pointer 
    235 *           arg   : Mib arg 
    236 *           data  : Pointer to the data structure 
    237 * Returns:  NCSCC_RC_SUCCESSS/NCSCC_RC_FAILURE 
    238 * Notes:   
    239 **************************************************************************/ 
    240 static uns32 
    241 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_obj 
    249  
    250  Purpose:  Circular Buffer Operation table's setrow routine 
    251  
    252  Input:    cb       : DTS_CB pointer 
    253            arg      : Mib arg pointer 
    254            params   : Poinet to param structure 
    255            objinfo  : Pointer to object info structure 
    256            flag     : Flase to perform setrow operation other wise testrow 
    257  
    258  Returns:  NCSCC_RC_SUCCESSS/NCSCC_RC_FAILURE 
    259  Notes:   
    260 **************************************************************************/ 
    261 static uns32 
    262 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                 else 
    286                         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 } 
    29951 
    30052/************************************************************************** 
  • osaf/services/infrastructure/dtsv/dts/dts_chkop.c

    r623 r770  
    4040 
    4141#include "dts.h" 
     42#include "dts_imm.h" 
     43 
    4244static uns32 dtsv_mbcsv_callback(NCS_MBCSV_CB_ARG *arg); 
    4345static uns32 dtsv_mbcsv_process_enc_cb(DTS_CB *cb, NCS_MBCSV_CB_ARG *arg); 
     
    7375{ 
    7476        SaAmfHAStateT prev_haState = cb->ha_state; 
     77        SaAisErrorT error = SA_AIS_OK; 
    7578 
    7679        /* 
     
    106109        if ((prev_haState == SA_AMF_HA_ACTIVE) && (haState == SA_AMF_HA_QUIESCED)) { 
    107110                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                } 
    108117 
    109118                /* Change MDS VDEST */ 
     
    182191                   return m_DTS_DBG_SINK(NCSCC_RC_FAILURE, "dts_role_change: DTS fail-over failed"); 
    183192                   } */ 
     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                } 
    184206 
    185207                /* Once it becomes active, it IS in-sync with itself */ 
     
    511533                                if (TRUE == cb->cold_sync_in_progress) { 
    512534                                        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)) { 
    515537                                                /* Free userbuff and return without decoding */ 
    516538                                                ncs_reset_uba(&arg->info.decode.i_uba); 
     
    559581 
    560582                        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)) { 
    563584                                cb->in_sync = TRUE; 
    564585                                cb->cold_sync_in_progress = FALSE; 
     
    771792        mbcsv_arg.i_mbcsv_hdl = cb->mbcsv_hdl; 
    772793        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; 
    775794 
    776795        if (NCSCC_RC_SUCCESS != ncs_mbcsv_svc(&mbcsv_arg)) { 
  • osaf/services/infrastructure/dtsv/dts/dts_ckpt_dec.c

    r623 r770  
    203203        return status; 
    204204} 
    205  
    206205/****************************************************************************\ 
    207206 * Function: dtsv_decode_ckpt_dta_dest_list_config 
     
    663662        while (svc != NULL) { 
    664663                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)) { 
    666665                        /* Remove the service entry now */ 
    667666                        if (&svc->device.cir_buffer != NULL) 
  • osaf/services/infrastructure/dtsv/dts/dts_ckpt_edu.c

    r623 r770  
    264264                 (long)&((DTS_SVC_REG_TBL *)0)->per_node_logging, 0, NULL}, 
    265265                {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, 
    268266                 (long)&((DTS_SVC_REG_TBL *)0)->my_key.node, 0, NULL}, 
    269267                {EDU_EXEC, ncs_edp_uns32, 0, 0, 0, 
     
    302300                {EDU_EXEC, ncs_edp_uns8, 0, 0, 0, 
    303301                 (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}, 
    306302                {EDU_END, 0, 0, 0, 0, 0, 0, NULL}, 
    307303        }; 
  • osaf/services/infrastructure/dtsv/dts/dts_ckpt_updt.c

    r623 r770  
    3737 
    3838#include "dts.h" 
     39#include "dts_imm.h" 
    3940 
    4041static uns32 dts_stby_global_filtering_policy_change(DTS_CB *cb); 
     
    306307 
    307308                                        /* Check if svc entry is required or not */ 
    308                                         if ((svc->dta_count == 0) && (svc->row_exist == FALSE)) { 
     309                                        if (svc->dta_count == 0) { 
    309310                                                if (&svc->device.cir_buffer != NULL) 
    310311                                                        dts_circular_buffer_free(&svc->device.cir_buffer); 
     
    423424                                        /*async update for new svc_reg, so initialize node param */ 
    424425                                        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; */ 
    428426 
    429427                                        /* Copy attributes of node policy & op device */ 
     
    570568                                                while ((svc_ptr != NULL) && (svc_ptr->my_key.node == key.node)) { 
    571569                                                        switch (cb->cli_bit_map) { 
    572                                                         case ncsDtsvNodeMessageLogging_ID: 
     570                                                        case osafDtsvNodeMessageLogging_ID: 
    573571                                                                if (svcreg->per_node_logging == NCS_SNMP_FALSE) 
    574572                                                                        svc_ptr->device.new_file = TRUE; 
    575573                                                                break; 
    576574 
    577                                                                 /* In case of row-status activation only, propagate the 
    578                                                                  * node level filters to corr svc filter policy  
    579                                                                  * settings. Logging policy would anyways be init  
    580                                                                  * 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  
    590575                                                                /* Change the filter policies only if the node update 
    591576                                                                 * is sent for an active rowstatus node entry  
    592577                                                                 */ 
    593                                                         case ncsDtsvNodeCategoryBitMap_ID: 
    594                                                                 if (svcreg->row_status == NCSMIB_ROWSTATUS_ACTIVE) 
     578                                                        case osafDtsvNodeCategoryBitMap_ID: 
    595579                                                                        svc_ptr->svc_policy.category_bit_map = 
    596580                                                                            svcreg->svc_policy.category_bit_map; 
    597581                                                                break; 
    598582 
    599                                                         case ncsDtsvNodeLoggingState_ID: 
    600                                                                 if (svcreg->row_status == NCSMIB_ROWSTATUS_ACTIVE) 
     583                                                        case osafDtsvNodeLoggingState_ID: 
    601584                                                                        svc_ptr->svc_policy.enable = 
    602585                                                                            svcreg->svc_policy.enable; 
    603586                                                                break; 
    604587 
    605                                                         case ncsDtsvNodeSeverityBitMap_ID: 
    606                                                                 if (svcreg->row_status == NCSMIB_ROWSTATUS_ACTIVE) 
     588                                                        case osafDtsvNodeSeverityBitMap_ID: 
    607589                                                                        svc_ptr->svc_policy.severity_bit_map = 
    608590                                                                            svcreg->svc_policy.severity_bit_map; 
     
    685667                                if (cb->svc_rmv_mds_dest == 0) { 
    686668                                        /* 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) { 
    691670                                                if (&svc_ptr->device.cir_buffer != NULL) 
    692671                                                        dts_circular_buffer_free(&svc_ptr->device.cir_buffer); 
     
    772751                                                                /*ncs_destroy_queue(&to_reg->svc_list); */ 
    773752                                                                ncs_patricia_tree_del(&cb->dta_list, 
    774                                                                                       (NCS_PATRICIA_NODE *)&to_reg-> 
    775                                                                                       node); 
     753                                                                                      (NCS_PATRICIA_NODE *) 
     754                                                                                      &to_reg->node); 
    776755                                                                m_LOG_DTS_EVT(DTS_EV_DTA_DEST_RMV_SUCC, 0, key.node, 
    777756                                                                              (uns32)to_reg->dta_addr); 
     
    801780                                } 
    802781 
    803                                 /* Delete svc entry when dta_count is zero & either row_exist is  
    804                                  * 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.  
    805784                                 */ 
    806                                 else if ((svc_ptr->dta_count == 0) && (svc_ptr->row_exist == FALSE)) { 
     785                                else if (svc_ptr->dta_count == 0) { 
    807786                                        /* No need of policy handles */ 
    808787                                        /* Now delete the svc entry from the patricia tree */ 
     
    985964                        if (cb->cli_bit_map != 0) { 
    986965                                switch (cb->cli_bit_map) { 
    987                                 case ncsDtsvGlobalMessageLogging_ID: 
     966                                case osafDtsvGlobalMessageLogging_ID: 
    988967                                        cb->g_policy.device.new_file = TRUE; 
    989968                                        /*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: 
    993972                                        /* This case changes have to propagated to all svcs */ 
    994973                                        if (NCSCC_RC_SUCCESS != dts_stby_global_filtering_policy_change(cb)) { 
     
    10551034 
    10561035                /* 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) 
    10581037                        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) 
    10601039                        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) 
    10621041                        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) { 
    10641043                        service->device.new_file = TRUE; 
    10651044                } 
  • osaf/services/infrastructure/dtsv/dts/dts_dl_api.c

    r623 r770  
    255255                m_NCS_IPC_RELEASE(&gl_dts_mbx, NULL); 
    256256                inst->created = FALSE; 
    257                 dts_unregister_tables(inst); 
    258257                dtsv_mbcsv_deregister(inst); 
    259258                dts_mds_unreg(inst, TRUE); 
  • osaf/services/infrastructure/dtsv/dts/dts_log.c

    r623 r770  
    230230} 
    231231 
     232 
     233 
     234 
     235void _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} 
    232248#endif   /* (DTS_LOG == 1) */ 
  • osaf/services/infrastructure/dtsv/dts/dts_mds.c

    r623 r770  
    7777 
    7878        /* store the info returned by MDS */ 
    79         cb->oac_hdl = vda_info.info.vdest_create.o_pwe1_oac_hdl; 
    8079        cb->mds_hdl = vda_info.info.vdest_create.o_mds_pwe1_hdl; 
    8180        /* Smik - New additions */ 
     
    124123                cb->created = FALSE; 
    125124                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!!"); 
    127142        } 
    128143 
     
    312327                        if (0 != msg) 
    313328                                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"); 
    315330                } 
    316331                break; 
     
    457472        memset(msg, '\0', sizeof(DTSV_MSG)); 
    458473 
    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 
    460479        msg->node = svc_info.i_node_id; 
    461480        msg->data.data.evt.change = svc_info.i_change; 
     
    568587                                                      (uns32)(dta_ptr->dta_addr)); 
    569588 
    570                                         if ((svc->dta_count == 0) && (svc->row_exist == FALSE)) { 
     589                                        if (svc->dta_count == 0) { 
    571590                                                dts_circular_buffer_free(&svc->device.cir_buffer); 
    572591                                                dev = &svc->device; 
  • osaf/services/infrastructure/dtsv/dts/dts_pvt.c

    r676 r770  
    4949 
    5050#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 
     60static nfds_t nfds = 3; 
    5161 
    5262#define m_DTS_COMP_NAME_FILE OSAF_LOCALSTATEDIR "ncs_dts_comp_name" 
    5363 
     64static struct pollfd fds[4]; 
    5465static uns32 dts_stby_initialize(DTS_CB *cb); 
    5566 
     
    7283 
    7384/***************************************************************************** 
    74    dts_do_evts 
     85  dts_do_evts 
    7586*****************************************************************************/ 
    7687void dts_do_evts(SYSF_MBX *mbx) 
    7788{ 
    7889        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; 
    8291        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; 
    92101 
    93102        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) { 
    140124                                saf_status = saAmfDispatch(dts_cb.amf_hdl, SA_DISPATCH_ALL); 
    141125                                if (saf_status != SA_AIS_OK) { 
     126                                        printf("saAmfDispatch failed \n"); 
    142127                                        /* log the error  */ 
    143128                                        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); 
    144139                                } 
    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!!"); */ 
    148149                        } 
    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; 
    159160                        } 
    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 
    178163        }                       /*end of while */ 
    179         return; 
    180164} 
    181165 
     
    214198                        rc = dts_dump_seq_msg(inst, FALSE); 
    215199                        break; 
    216                         /*Smik - handle AMF up */ 
    217                 case DTS_AMF_COMPONENTIZE: 
    218                         rc = dts_amf_register(inst); 
    219                         break; 
    220200 
    221201                        /* Added a case for handling msg_type DTS_QUIESCED_CMPLT. 
     
    287267 
    288268                } 
    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        } 
    300274 
    301275        if (0 != msg) { 
     
    308282 
    309283        return rc; 
    310 } 
    311  
    312 /**************************************************************************\ 
    313  Function: dts_handle_signal 
    314  
    315  Purpose:  Function used for handling the signal frm AMF being up.  
    316  
    317  Input:    None. 
    318  
    319  Returns:  NCSCC_RC_SUCCESSS/NCSCC_RC_FAILURE 
    320  
    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; 
    342284} 
    343285 
     
    385327 
    386328/**************************************************************************\ 
     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\**************************************************************************/ 
     340void 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/**************************************************************************\ 
    387354 Function: dts_register_service 
    388355 
     
    399366uns32 dts_register_service(DTSV_MSG *msg) 
    400367{ 
     368        printf("-------  %s  --------\n", __FUNCTION__); 
    401369        DTS_CB *inst = &dts_cb; 
    402370        SVC_KEY key, nt_key; 
     
    443411 
    444412                node_reg->per_node_logging = NODE_LOGGING; 
    445                 node_reg->row_status = NCSMIB_ROWSTATUS_NOTINSERVICE; 
    446413                node_reg->my_node = node_reg; 
    447414 
    448                 /* Set the node policy to default and add the node into the patricia tree */ 
    449415                dts_default_node_policy_set(&node_reg->svc_policy, &node_reg->device, key.node); 
    450  
    451416                if (ncs_patricia_tree_add(&inst->svc_tbl, (NCS_PATRICIA_NODE *)node_reg) != NCSCC_RC_SUCCESS) { 
    452417                        m_LOG_DTS_EVT(DTS_EV_SVC_REG_ENT_ADD_FAIL, key.ss_svc_id, key.node, (uns32)msg->dest_addr); 
     
    593558                m_LOG_DTS_EVT(DTS_EV_DTA_SVC_ADD, key.ss_svc_id, key.node, (uns32)to_reg->dta_addr); 
    594559 
    595                 svc->row_status = NCSMIB_ROWSTATUS_NOTINSERVICE; 
    596                 svc->row_exist = FALSE; 
    597  
    598560                /* newly created service, set all the policies to default  
    599561                 * then add new entry to the patricia tree */ 
    600562                svc->per_node_logging = NCS_SNMP_FALSE; 
    601563                /*svc->num_svcs         = 0; */ 
    602  
    603564                dts_default_svc_policy_set(svc); 
    604  
    605565                if (ncs_patricia_tree_add(&inst->svc_tbl, (NCS_PATRICIA_NODE *)svc) != NCSCC_RC_SUCCESS) { 
    606566                        m_LOG_DTS_EVT(DTS_EV_SVC_REG_ENT_ADD_FAIL, key.ss_svc_id, key.node, (uns32)msg->dest_addr); 
     
    715675        m_DTS_UNLK(&inst->lock); 
    716676        m_LOG_DTS_LOCK(DTS_LK_UNLOCKED, &inst->lock); 
    717  
    718677        if (dts_mds_send_msg(msg, dta_key, inst->mds_hdl) != NCSCC_RC_SUCCESS) { 
    719678                m_LOG_DTS_SVC_PRVDR(DTS_SP_MDS_SND_MSG_FAILED); 
    720679                return m_DTS_DBG_SINK(NCSCC_RC_FAILURE, "dts_register_service: DTS: MDS send failed"); 
    721680        } 
    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); */ 
    724682        return NCSCC_RC_SUCCESS; 
    725683} 
     
    740698uns32 dts_unregister_service(DTSV_MSG *msg) 
    741699{ 
     700        printf("-------  %s  --------\n", __FUNCTION__); 
    742701        DTS_CB *inst = &dts_cb; 
    743702        SVC_KEY key, nt_key; 
     
    758717        m_LOG_DTS_EVT(DTS_EV_SVC_DE_REG_REQ_RCV, msg->data.data.reg.svc_id, msg->node, (uns32)msg->dest_addr); 
    759718 
    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) 
    762720            || (node->dta_count == 0)) { 
    763721                m_LOG_DTS_HEADLINE(DTS_HDLN_NULL_INST); 
     
    856814        node->num_svcs--; 
    857815 
    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 */ 
    861817        node->device.new_file = TRUE; 
    862818        node->device.cur_file_size = 0; 
     
    864820        /* Check whether we still need this patricia entry.  
    865821         * If no then delete it and free mem */ 
    866         if ((node->dta_count == 0) && (node->row_exist == FALSE)) { 
     822        if (node->dta_count == 0) { 
    867823                node->v_cd_list = NULL; 
    868824                dts_circular_buffer_free(&dev->cir_buffer); 
     
    10701026                        m_MMGR_FREE_OCT(msg->data.data.msg.log_msg.hdr.fmat_type); 
    10711027                        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) { 
    10791029                        /*  
    10801030                         * If per node logging is set then log the per node log file,  
     
    10831033                        rc = dtsv_log_msg(msg, &node->my_node->svc_policy, &node->my_node->device, PER_NODE_FILE, spec); 
    10841034 
    1085                 } else if (node->row_status == NCSMIB_ROWSTATUS_ACTIVE) { 
    1086                         rc = dtsv_log_msg(msg, &node->svc_policy, &node->device, PER_SVC_FILE, spec); 
    10871035                } else { 
    10881036                        /*  
     
    12791227void dts_default_policy_set(DEFAULT_POLICY *dflt_plcy) 
    12801228{ 
     1229        printf("-------  %s  --------\n", __FUNCTION__); 
    12811230        /* Set Default Node Policies */ 
    12821231 
     
    13211270void dts_global_policy_set(GLOBAL_POLICY *gpolicy) 
    13221271{ 
     1272        printf("-------  %s  --------\n", __FUNCTION__); 
    13231273        gpolicy->global_logging = GLOBAL_LOGGING; 
    13241274 
     
    13591309 Purpose:  This Function is used for setting the default policies of the  
    13601310           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. 
    13621312 
    13631313 Input:    npolicy  : Node policy table. 
     
    13711321void dts_default_node_policy_set(POLICY *npolicy, OP_DEVICE *device, uns32 node_id) 
    13721322{ 
     1323        printf("-------  %s  --------\n", __FUNCTION__); 
    13731324        uns8 global_sev_filter = dts_cb.g_policy.g_policy.severity_bit_map; 
    13741325        uns32 global_cat_filter = dts_cb.g_policy.g_policy.category_bit_map; 
     
    14091360 Purpose:  This Function is used for setting the default policies of the  
    14101361           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. 
    14121363 
    14131364 Input:    spolicy  : Service policy table. 
     
    14221373void dts_default_svc_policy_set(DTS_SVC_REG_TBL *service) 
    14231374{ 
     1375        printf("-------  %s  --------\n", __FUNCTION__); 
    14241376        POLICY *spolicy = &service->svc_policy; 
    14251377        OP_DEVICE *device = &service->device; 
     
    14271379        uns32 global_cat_filter = dts_cb.g_policy.g_policy.category_bit_map; 
    14281380 
    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) { 
    14331383                spolicy->enable = service->my_node->svc_policy.enable; 
    14341384                spolicy->category_bit_map = service->my_node->svc_policy.category_bit_map; 
    14351385                spolicy->severity_bit_map = service->my_node->svc_policy.severity_bit_map; 
     1386 
    14361387        } else { 
    14371388                spolicy->enable = dts_cb.g_policy.g_policy.enable; 
     
    14391390                spolicy->severity_bit_map = global_sev_filter; 
    14401391        } 
    1441  
    14421392        spolicy->log_dev = SVC_LOG_DEV; 
    14431393        spolicy->log_file_size = SVC_LOGFILE_SIZE; 
     
    15651515uns32 dts_send_filter_config_msg(DTS_CB *inst, DTS_SVC_REG_TBL *svc, DTA_DEST_LIST *dta) 
    15661516{ 
     1517        printf("-------  %s  --------\n", __FUNCTION__); 
    15671518        DTSV_MSG msg; 
    15681519        if (dta == NULL) 
     
    15851536        /* No need of policy handles */ 
    15861537        /*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); 
    15871539 
    15881540        if (dts_mds_send_msg(&msg, dta->dta_addr, inst->mds_hdl) != NCSCC_RC_SUCCESS) 
     
    17571709uns32 dts_create_new_pat_entry(DTS_CB *inst, DTS_SVC_REG_TBL **node, uns32 node_id, SS_SVC_ID svc_id, uns8 log_level) 
    17581710{ 
     1711        printf("-------  %s  --------\n", __FUNCTION__); 
    17591712        DTS_SVC_REG_TBL *parent_node; 
    17601713        SVC_KEY nt_key; 
     
    17691722        (*node)->my_key.node = node_id; 
    17701723        (*node)->my_key.ss_svc_id = svc_id; 
    1771         /*  Network order key added */ 
     1724        /* Network order key added */ 
    17721725        (*node)->ntwk_key.node = m_NCS_OS_HTONL(node_id); 
    17731726        (*node)->ntwk_key.ss_svc_id = m_NCS_OS_HTONL(svc_id); 
     
    17751728 
    17761729        (*node)->per_node_logging = log_level; 
    1777         (*node)->row_status = NCSMIB_ROWSTATUS_NOTINSERVICE; 
    17781730        /*  
    17791731         * If service id is 0 it meand it is a node entry. 
     
    17971749                /*ncs_create_queue(&(*node)->v_cd_list); */ 
    17981750                (*node)->v_cd_list = NULL; 
    1799  
    18001751                dts_default_svc_policy_set((*node)); 
    18011752        } 
     
    18631814 
    18641815                        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); 
    18841821                        } 
    18851822                        /* Go to the next node(not service) in the tree */ 
     
    20461983void dts_add_svc_to_dta(DTA_DEST_LIST *dta, DTS_SVC_REG_TBL *svc) 
    20471984{ 
     1985        printf("-------  %s  --------\n", __FUNCTION__); 
    20481986        SVC_ENTRY *dta_svc_entry, *tmp; 
    20491987 
     
    25582496                fprintf(fp, "\nKey: {Node=%d, Svc_ID=%d}", svc->my_key.node, svc->my_key.ss_svc_id); 
    25592497                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); 
    25622499 
    25632500                fprintf(fp, "\nPolicy info:\n------------------"); 
     
    27372674                printf("\nKey: {Node=%d, Svc_ID=%d}", svc->my_key.node, svc->my_key.ss_svc_id); 
    27382675                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); 
    27412677 
    27422678                printf("\nPolicy info:\n------------------"); 
     
    29062842 
    29072843                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); 
    29102845 
    29112846                printf("\nPolicy info:\n------------------"); 
     
    29602895        return; 
    29612896} 
     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\**************************************************************************/ 
     2910uns32 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  
    3838        dts.h \ 
    3939        dts_log.h \ 
    40         dts_mapi.h \ 
    4140        dts_mem.h \ 
    4241        dts_opt.h \ 
     
    4645        dtsv_mem.h \ 
    4746        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  
    5656#include "ncsencdec.h" 
    5757#include "ncs_stack.h" 
    58 #include "ncs_mib.h" 
    5958#include "ncs_mtbl.h" 
    6059#include "ncs_log.h" 
  • osaf/services/infrastructure/dtsv/include/dta_pvt.h

    r623 r770  
    257257 
    258258  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 setting 
    261  to determine what type of lock to implement. 
    262259 
    263260*************************************************************************/ 
  • osaf/services/infrastructure/dtsv/include/dts.h

    r623 r770  
    5656#include "ncsencdec.h" 
    5757#include "ncs_stack.h" 
    58 #include "ncs_mib.h" 
    5958#include "ncs_mtbl.h" 
    6059#include "ncs_log.h" 
    6160#include "ncs_lib.h" 
    6261#include "ncs_util.h" 
    63 #include "ncsmiblib.h" 
    6462 
    6563#if (NCS_CLI == 1) 
     
    102100#include "dta_api.h" 
    103101#include "dta_papi.h" 
    104 #include "dts_mapi.h" 
    105102#include "dts_log.h" 
    106103#include "dts_api.h" 
  • osaf/services/infrastructure/dtsv/include/dts_ckpt_updt.h

    r623 r770  
    4949#define m_DTS_SET_SVC_REG_TBL(svc, param) \ 
    5050{  \ 
    51    svc->row_status = param->row_status; \ 
    52    svc->row_exist = param->row_exist; \ 
    5351   svc->per_node_logging = param->per_node_logging; \ 
    5452   svc->svc_policy.enable = param->svc_policy.enable; \ 
  • osaf/services/infrastructure/dtsv/include/dts_log.h

    r623 r770  
    256256        DTS_FC_CIRBUFF, 
    257257        DTS_FC_STR, 
    258         DTS_FC_UPDT 
     258        DTS_FC_UPDT, 
     259        DTS_FC_GENLOG 
    259260} DTS_FLEX_SETS; 
    260261 
     
    285286        DTS_LID_ASYNC_UPDT, 
    286287        DTS_LID_FLOW_UP, 
    287         DTS_LID_FLOW_DOWN 
     288        DTS_LID_FLOW_DOWN, 
     289        DTS_LID_GENLOG 
    288290} DTS_LOG_IDS; 
    289291 
     
    312314EXTERN_C void log_dts_dbg_name(uns8 id, char *str, uns32 svc_id, char *svc); 
    313315EXTERN_C void log_dts_chkp_evt(uns8 id); 
     316 
     317#define dts_log(severity, format, args...) _dts_log((severity), __FUNCTION__, (format), ##args) 
     318void _dts_log(uns8 severity, const char *function, const char *format, ...); 
    314319 
    315320#define m_LOG_DTS_HEADLINE(id)             log_dts_headline (id    ) 
  • osaf/services/infrastructure/dtsv/include/dts_pvt.h

    r623 r770  
    1717 
    1818#include <configmake.h> 
    19  
     19#include "saImmOi.h" 
    2020/***************************************************************************** 
    2121.............................................................................. 
     
    6161#define EXPANDED_FORMAT      0x02 
    6262 
    63 #ifndef NCSDTSV_CLI_MIB_FETCH_TIMEOUT 
    64 #define NCSDTSV_CLI_MIB_FETCH_TIMEOUT 600 
    65 #endif 
    6663 
    6764#define  DTS_AMF_HEALTH_CHECK_KEY  "A9FD64E12C12"       /* Some randomely generated key */ 
     
    352349        NCS_BOOL dflt_logging;  /* TRUE - Logging enabled by default,  
    353350                                   FALSE - Logging Disabled by default */ 
    354         /* Align datatype with NCS-DTSV-MIB object */ 
     351        /* Align datatype with IMM object */ 
    355352        uns32 g_num_log_files;  /*Number of old log files to be saved per service or per node */ 
    356353        /*Smik - Added for console printing */ 
     
    391388        NCS_BOOL per_node_logging;      /* Set to TRUE if Node Logging is used 
    392389                                           Set to FALSE if Service Logging is used */ 
    393         uns32 row_status; 
    394390 
    395391        SVC_KEY my_key;         /* Key used for searching the element, Node ID + Service ID */ 
     
    405401        POLICY svc_policy;      /* Service policy table */ 
    406402        OP_DEVICE device; 
    407         NCS_BOOL row_exist; 
    408403        /*NCSFL_ASCII_SPEC        *my_spec; */ 
    409404        struct dts_svc_reg_tbl *my_node; 
     
    474469        char cb_log_str[SYSF_FL_LOG_BUFF_SIZE]; 
    475470 
    476         uns32 oac_hdl; 
    477471        MDS_HDL mds_hdl; 
    478472        NCSCONTEXT task_handle; 
     
    506500        SaAmfRecommendedRecoveryT recommendedRecovery; 
    507501 
    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  
    516502        /*  
    517503         * MBCSv related variables. 
     
    559545        SaInvocationT csi_cb_invocation; 
    560546 
    561         uns8 cli_bit_map;       /*Bit map to reflect change made in global 
     547        uns8 cli_bit_map;       /*Bit map to reflect change made in global 
    562548                                   policy or node policy through CLI */ 
    563549        MDS_DEST svc_rmv_mds_dest;      /*MDS_DEST corrsp to DTA from which  
     
    567553                                           spec loaded for this service. 
    568554                                           Needed only for checkpointing. */ 
     555        SaImmOiHandleT immOiHandle;      
     556        SaSelectionObjectT imm_sel_obj; 
    569557#if (DTS_FLOW == 1) 
    570558        uns32 msg_count; 
    571559#endif 
     560        NCS_BOOL imm_init_done; 
    572561 
    573562} DTS_CB; 
     
    890879} \ 
    891880 
    892 /* Define the Ranks for the persistent MIB tables */ 
     881/* Define the Ranks for the persistent IMM Objects */ 
    893882typedef enum { 
    894883        DTSV_TBL_RANK_MIN = 1, 
     
    916905EXTERN_C uns32 dts_handle_signal(void); 
    917906EXTERN_C uns32 dts_handle_dta_event(DTSV_MSG *msg); 
     907EXTERN_C uns32 dts_handle_immnd_event(DTSV_MSG *msg); 
    918908EXTERN_C uns32 dts_register_service(DTSV_MSG *msg); 
    919909EXTERN_C uns32 dts_unregister_service(DTSV_MSG *msg); 
     
    937927dts_create_new_pat_entry(DTS_CB *inst, DTS_SVC_REG_TBL **node, uns32 node_id, SS_SVC_ID svc_id, uns8 log_level); 
    938928 
    939 /*************************************************************************** 
    940  * DTSv defines for functions added for PSSv integration 
    941  ***************************************************************************/ 
    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); 
    956929 
    957930/************************************************************************ 
     
    980953EXTERN_C uns32 dts_free_msg_content(NCSFL_NORMAL *msg); 
    981954 
    982 /************************************************************************ 
    983 MIB Requests Processing functions 
    984 ************************************************************************/ 
    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); 
    995955 
    996956/************************************************************************ 
     
    1019979EXTERN_C int32 dts_open_conf_cons(DTS_CB *cb, uns32 mode, char *str); 
    1020980 
    1021 /***************************************************************************** 
    1022 MIB Registration and Request handling routines  
    1023 *****************************************************************************/ 
    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); 
    1028981 
    1029982/************************************************************************ 
  • osaf/services/infrastructure/dtsv/include/dtsv_msg.h

    r623 r770  
    101101        /* Message type indicating the congestion state of DTS as seen by DTA */ 
    102102        DTS_CONGESTION_HIT, 
    103         DTS_CONGESTION_CLEAR 
     103        DTS_CONGESTION_CLEAR, 
     104        DTS_IMMND_EVT_RCV 
    104105} DTS_SVC_MSG_TYPE; 
    105106 
  • osaf/services/infrastructure/dtsv/include/dtsvcli.h

    r623 r770  
    3030#define DTSVCLI_H 
    3131 
    32 #define DTSV_MOTV   NCSDTSV_CLI_MIB_FETCH_TIMEOUT       /* defined in dtsv-opt.h */ 
    33 #define MIB_VERR     "\nMIB returned error code" 
    3432 
    3533EXTERN_C uns32 ncsdtsv_cef_load_lib_req(NCS_LIB_REQ_INFO *libreq); 
     
    5856EXTERN_C uns32 dtsv_cef_set_dflt_plcy(NCSCLI_ARG_SET *arg_list, NCSCLI_CEF_DATA *cef_data); 
    5957 
    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) 
    9058 
    9159#endif 
  • osaf/services/infrastructure/dtsv/logstr/dts_logstr.c

    r623 r770  
    302302         "DTS %s CONGESTION EVENT HIT. INFO & DEBUG severity logs will be dropped for NODE: 0x%08lx & Process Id: %ld\n\n"}, 
    303303        {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"}, 
    304305        {0, 0, 0} 
    305306}; 
  • osaf/services/saf/immsv/config/imm.xml

    r764 r770  
    14551455                </attr> 
    14561456        </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> 
    14571684 
    14581685        <class name="SaMsgQueue"> 
     
    20062233                </attr> 
    20072234        </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> 
    20082242        <object class="SaLogStreamConfig"> 
    20092243                <dn>safLgStrCfg=saLogAlarm,safApp=safLogService</dn> 
     
    42764510                </attr> 
    42774511        </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> 
    42784559</imm:IMM-contents> 
  • osaf/snmp/miblib/Makefile.am

    r706 r770  
    1919MAINTAINERCLEANFILES = Makefile.in 
    2020 
    21 SUBDIRS = avsv dtsv pssv 
     21SUBDIRS = avsv pssv 
  • osaf/snmp/mibs/Makefile.mibs

    r706 r770  
    33   ESMI-NCS-AVM-MIB \ 
    44   ESMI-NCS-AVSV-MIB \ 
    5    ESMI-NCS-DTSV-MIB \ 
    65   ESMI-NCS-PSR-MIB \ 
    76   ESMI-SAF-AMF-MIB \ 
     
    98   NCS-AVM-MIB \ 
    109   NCS-AVSV-MIB \ 
    11    NCS-DTSV-MIB \ 
    1210   NCS-PSR-MIB \ 
    1311   SAF-AIS-TC-MIB \ 
  • osaf/snmp/pssv/Makefile.am

    r619 r770  
    1919MAINTAINERCLEANFILES = Makefile.in 
    2020 
    21 SUBDIRS = config avsv dtsv 
     21SUBDIRS = config avsv 
  • osaf/snmp/subagt/Makefile.am

    r626 r770  
    4141        $(AM_CPPFLAGS) \ 
    4242        -I$(top_builddir)/osaf/snmp/subagt/services/avsv \ 
    43         -I$(top_builddir)/osaf/snmp/subagt/services/dtsv \ 
    4443        -I$(top_builddir)/osaf/snmp/subagt/services/avsv/avm \ 
    4544        -I$(top_srcdir)/osaf/services/infrastructure/masv/include 
     
    6463        $(top_builddir)/osaf/snmp/subagt/services/avsv/avm/libavm_subagt.la \ 
    6564        $(top_builddir)/osaf/snmp/subagt/services/avsv/libavsv_subagt.la \ 
    66         $(top_builddir)/osaf/snmp/subagt/services/dtsv/libdtsv_subagt.la \ 
    6765        $(top_builddir)/osaf/libs/agents/infrastructure/rda/librda.la 
  • osaf/snmp/subagt/services/Makefile.am

    r706 r770  
    1919MAINTAINERCLEANFILES = Makefile.in 
    2020 
    21 SUBDIRS = avsv dtsv pssv 
     21SUBDIRS = avsv pssv 
  • osaf/snmp/subagt/subagt_amf.c

    r623 r770  
    4848 
    4949#include "avsv_subagt_init.h" 
    50 #include "dtsv_subagt_init.h" 
    5150#include "avm_subagt_init.h" 
    5251#include "rda_papi.h"