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;
|
} bb_transc;
|
||||||
|
|
||||||
u_int16_t arfcn;
|
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];
|
struct gsm_bts_trx_ts ts[TRX_NR_TS];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -274,6 +285,10 @@ struct gsm_bts_paging_state {
|
||||||
u_int16_t available_slots;
|
u_int16_t available_slots;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct gsm_envabtse {
|
||||||
|
struct gsm_nm_state nm_state;
|
||||||
|
};
|
||||||
|
|
||||||
/* One BTS */
|
/* One BTS */
|
||||||
struct gsm_bts {
|
struct gsm_bts {
|
||||||
struct gsm_network *network;
|
struct gsm_network *network;
|
||||||
|
@ -323,7 +338,7 @@ struct gsm_bts {
|
||||||
struct {
|
struct {
|
||||||
struct gsm_nm_state nm_state;
|
struct gsm_nm_state nm_state;
|
||||||
} rack;
|
} rack;
|
||||||
|
struct gsm_envabtse envabtse[4];
|
||||||
} bs11;
|
} bs11;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -472,6 +472,8 @@ static const char *obj_class_name(u_int8_t oc)
|
||||||
return "GPRS NSVC0";
|
return "GPRS NSVC0";
|
||||||
case NM_OC_GPRS_NSVC1:
|
case NM_OC_GPRS_NSVC1:
|
||||||
return "GPRS NSVC1";
|
return "GPRS NSVC1";
|
||||||
|
case NM_OC_BS11:
|
||||||
|
return "SIEMENSHW";
|
||||||
}
|
}
|
||||||
|
|
||||||
return "UNKNOWN";
|
return "UNKNOWN";
|
||||||
|
@ -566,12 +568,29 @@ objclass2nmstate(struct gsm_bts *bts, u_int8_t obj_class,
|
||||||
case BS11_OBJ_CCLK:
|
case BS11_OBJ_CCLK:
|
||||||
nm_state = &bts->bs11.cclk.nm_state;
|
nm_state = &bts->bs11.cclk.nm_state;
|
||||||
break;
|
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:
|
default:
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
case NM_OC_BS11_RACK:
|
case NM_OC_BS11_RACK:
|
||||||
nm_state = &bts->bs11.rack.nm_state;
|
nm_state = &bts->bs11.rack.nm_state;
|
||||||
break;
|
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;
|
return nm_state;
|
||||||
}
|
}
|
||||||
|
@ -650,6 +669,8 @@ static int abis_nm_rx_statechg_rep(struct msgb *mb)
|
||||||
|
|
||||||
DEBUGPC(DNM, "STATE CHG: ");
|
DEBUGPC(DNM, "STATE CHG: ");
|
||||||
|
|
||||||
|
memset(&new_state, 0, sizeof(new_state));
|
||||||
|
|
||||||
nm_state = objclass2nmstate(bts, foh->obj_class, &foh->obj_inst);
|
nm_state = objclass2nmstate(bts, foh->obj_class, &foh->obj_inst);
|
||||||
if (!nm_state) {
|
if (!nm_state) {
|
||||||
DEBUGPC(DNM, "\n");
|
DEBUGPC(DNM, "\n");
|
||||||
|
|
Loading…
Reference in New Issue