diff options
author | Harald Welte <laflocal@goeller.de.gnumonks.org> | 2010-01-10 18:01:52 +0100 |
---|---|---|
committer | Harald Welte <laflocal@goeller.de.gnumonks.org> | 2010-01-10 18:01:52 +0100 |
commit | 39315c47989326275823d1589425ee62d15bc823 (patch) | |
tree | 35339da4dd36b4f9e0282c11e2246cb5135b9c0c /openbsc/src/bs11_config.c | |
parent | 5078148829920b7e7b8269b5a6420c0a999cc877 (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.c | 5 |
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) { |