aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/bs11_config.c
diff options
context:
space:
mode:
authorHarald Welte <laflocal@goeller.de.gnumonks.org>2010-01-10 18:01:52 +0100
committerHarald Welte <laflocal@goeller.de.gnumonks.org>2010-01-10 18:01:52 +0100
commit39315c47989326275823d1589425ee62d15bc823 (patch)
tree35339da4dd36b4f9e0282c11e2246cb5135b9c0c /openbsc/src/bs11_config.c
parent5078148829920b7e7b8269b5a6420c0a999cc877 (diff)
[OML] parse attributes depending on BTS type
Some NM attributes are defined differently depending on the BTS type. Having one big nm_att_tlvdef[] table for all BTS types is no longer sufficient. This patch * introduces 'struct gsm_bts_model' to describe a BTS model * adds definitions of gsm_bts_model for BS-11 and nanoBTS * changes the abis_nm_tlv_parse() function: include a bts pointer
Diffstat (limited to 'openbsc/src/bs11_config.c')
-rw-r--r--openbsc/src/bs11_config.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/openbsc/src/bs11_config.c b/openbsc/src/bs11_config.c
index 6a76b962d..703591eed 100644
--- a/openbsc/src/bs11_config.c
+++ b/openbsc/src/bs11_config.c
@@ -649,7 +649,7 @@ int handle_serial_msg(struct msgb *rx_msg)
exit(0);
break;
case NM_MT_BS11_GET_STATE_ACK:
- rc = abis_nm_tlv_parse(&tp, foh->data, oh->length-sizeof(*foh));
+ rc = abis_nm_tlv_parse(&tp, g_bts, foh->data, oh->length-sizeof(*foh));
print_state(&tp);
if (TLVP_PRESENT(&tp, NM_ATT_BS11_BTS_STATE) &&
TLVP_LEN(&tp, NM_ATT_BS11_BTS_STATE) >= 1)
@@ -657,7 +657,7 @@ int handle_serial_msg(struct msgb *rx_msg)
break;
case NM_MT_GET_ATTR_RESP:
printf("\n%sATTRIBUTES:\n", obj_name(foh));
- abis_nm_tlv_parse(&tp, foh->data, oh->length-sizeof(*foh));
+ abis_nm_tlv_parse(&tp, g_bts, foh->data, oh->length-sizeof(*foh));
rc = print_attr(&tp);
//hexdump(foh->data, oh->length-sizeof(*foh));
break;
@@ -839,6 +839,7 @@ int main(int argc, char **argv)
debug_add_target(stderr_target);
debug_set_all_filter(stderr_target, 1);
handle_options(argc, argv);
+ bts_model_bs11_init();
gsmnet = gsm_network_init(1, 1, NULL);
if (!gsmnet) {