diff options
author | Max <msuraev@sysmocom.de> | 2016-04-15 16:04:46 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2016-04-16 13:47:56 +0200 |
commit | 59a1bf3dae0d0a9e914d3c615c6aa7fc8955d7b5 (patch) | |
tree | 9cf34ba7801d64b98029dc0f2d571fe9cf88fab4 /openbsc/include | |
parent | 5fa7e36bbc100c5cec4542280ca717ae4800b316 (diff) |
Add basic SI2quater support
* support for sending arbitrary static SI2quater.
* vty interface for neightbor EARFCNs specific to SI2quater.
* dynamic generation of SI2quater messages.
* unit test for SI2quater messages.
Fixes: OS#1630
Diffstat (limited to 'openbsc/include')
-rw-r--r-- | openbsc/include/openbsc/gsm_data_shared.h | 5 | ||||
-rw-r--r-- | openbsc/include/openbsc/rest_octets.h | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/openbsc/include/openbsc/gsm_data_shared.h b/openbsc/include/openbsc/gsm_data_shared.h index 000207dd9..cbc0c77f0 100644 --- a/openbsc/include/openbsc/gsm_data_shared.h +++ b/openbsc/include/openbsc/gsm_data_shared.h @@ -105,6 +105,7 @@ struct gsm_abis_mo { #define A38_XOR_MAX_KEY_LEN 16 #define A38_COMP128_KEY_LEN 16 #define RSL_ENC_ALG_A5(x) (x+1) +#define MAX_EARFCN_LIST 512 /* is the data link established? who established it? */ #define LCHAN_SAPI_UNUSED 0 @@ -715,12 +716,16 @@ struct gsm_bts { struct bitvec neigh_list; struct bitvec cell_alloc; struct bitvec si5_neigh_list; + struct bitvec si2quater_na_list; + struct osmo_earfcn_si2q si2quater_neigh_list; struct { /* bitmask large enough for all possible ARFCN's */ uint8_t neigh_list[1024/8]; uint8_t cell_alloc[1024/8]; /* If the user wants a different neighbor list in SI5 than in SI2 */ uint8_t si5_neigh_list[1024/8]; + uint8_t meas_bw_list[MAX_EARFCN_LIST]; + uint16_t earfcn_list[MAX_EARFCN_LIST]; } data; } si_common; diff --git a/openbsc/include/openbsc/rest_octets.h b/openbsc/include/openbsc/rest_octets.h index 9560b14c5..fd5ec6a74 100644 --- a/openbsc/include/openbsc/rest_octets.h +++ b/openbsc/include/openbsc/rest_octets.h @@ -1,10 +1,15 @@ #ifndef _REST_OCTETS_H #define _REST_OCTETS_H +#include <stdbool.h> #include <openbsc/gsm_04_08.h> +#include <osmocom/gsm/sysinfo.h> /* generate SI1 rest octets */ int rest_octets_si1(uint8_t *data, uint8_t *nch_pos, int is1800_net); +int rest_octets_si2quater(uint8_t *data, + const struct osmo_earfcn_si2q *e, bool uarfcn, + bool earfcn); struct gsm48_si_selection_params { uint16_t penalty_time:5, |