BS11: add nm_state for EnveBTES, PA and BBSIG physical objects
This commit is contained in:
parent
c3d4b2d441
commit
8b697c74c7
|
@ -224,6 +224,17 @@ struct gsm_bts_trx {
|
|||
} bb_transc;
|
||||
|
||||
u_int16_t arfcn;
|
||||
|
||||
union {
|
||||
struct {
|
||||
struct {
|
||||
struct gsm_nm_state nm_state;
|
||||
} bbsig;
|
||||
struct {
|
||||
struct gsm_nm_state nm_state;
|
||||
} pa;
|
||||
} bs11;
|
||||
};
|
||||
struct gsm_bts_trx_ts ts[TRX_NR_TS];
|
||||
};
|
||||
|
||||
|
@ -274,6 +285,10 @@ struct gsm_bts_paging_state {
|
|||
u_int16_t available_slots;
|
||||
};
|
||||
|
||||
struct gsm_envabtse {
|
||||
struct gsm_nm_state nm_state;
|
||||
};
|
||||
|
||||
/* One BTS */
|
||||
struct gsm_bts {
|
||||
struct gsm_network *network;
|
||||
|
@ -323,7 +338,7 @@ struct gsm_bts {
|
|||
struct {
|
||||
struct gsm_nm_state nm_state;
|
||||
} rack;
|
||||
|
||||
struct gsm_envabtse envabtse[4];
|
||||
} bs11;
|
||||
};
|
||||
|
||||
|
|
|
@ -472,6 +472,8 @@ static const char *obj_class_name(u_int8_t oc)
|
|||
return "GPRS NSVC0";
|
||||
case NM_OC_GPRS_NSVC1:
|
||||
return "GPRS NSVC1";
|
||||
case NM_OC_BS11:
|
||||
return "SIEMENSHW";
|
||||
}
|
||||
|
||||
return "UNKNOWN";
|
||||
|
@ -566,12 +568,29 @@ objclass2nmstate(struct gsm_bts *bts, u_int8_t obj_class,
|
|||
case BS11_OBJ_CCLK:
|
||||
nm_state = &bts->bs11.cclk.nm_state;
|
||||
break;
|
||||
case BS11_OBJ_BBSIG:
|
||||
if (obj_inst->ts_nr > bts->num_trx)
|
||||
return NULL;
|
||||
trx = &bts->trx[obj_inst->ts_nr];
|
||||
nm_state = &trx->bs11.bbsig.nm_state;
|
||||
break;
|
||||
case BS11_OBJ_PA:
|
||||
if (obj_inst->ts_nr > bts->num_trx)
|
||||
return NULL;
|
||||
trx = &bts->trx[obj_inst->ts_nr];
|
||||
nm_state = &trx->bs11.pa.nm_state;
|
||||
break;
|
||||
default:
|
||||
return NULL;
|
||||
}
|
||||
case NM_OC_BS11_RACK:
|
||||
nm_state = &bts->bs11.rack.nm_state;
|
||||
break;
|
||||
case NM_OC_BS11_ENVABTSE:
|
||||
if (obj_inst->trx_nr > ARRAY_SIZE(bts->bs11.envabtse))
|
||||
return NULL;
|
||||
nm_state = &bts->bs11.envabtse[obj_inst->trx_nr].nm_state;
|
||||
break;
|
||||
}
|
||||
return nm_state;
|
||||
}
|
||||
|
@ -650,6 +669,8 @@ static int abis_nm_rx_statechg_rep(struct msgb *mb)
|
|||
|
||||
DEBUGPC(DNM, "STATE CHG: ");
|
||||
|
||||
memset(&new_state, 0, sizeof(new_state));
|
||||
|
||||
nm_state = objclass2nmstate(bts, foh->obj_class, &foh->obj_inst);
|
||||
if (!nm_state) {
|
||||
DEBUGPC(DNM, "\n");
|
||||
|
|
Loading…
Reference in New Issue