aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2012-06-28 08:43:14 +0200
committerHarald Welte <laforge@gnumonks.org>2012-06-28 08:54:03 +0200
commit7d89c5524689595fef131cabbbf48f1fb3afb684 (patch)
tree6efbd8c5ca076e9cf4be8275be7167fbe2d9e742 /openbsc/src
parent535d04e8bf18edb91e38c05e347bb33d2a2596c9 (diff)
gsm_data_shared: add structure for decoded parameters of RLC config
this is primarily needed on the BTS side, but we should also use it on the BSC side and make the parameters VTY-configurable.
Diffstat (limited to 'openbsc/src')
-rw-r--r--openbsc/src/libcommon/gsm_data_shared.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/openbsc/src/libcommon/gsm_data_shared.c b/openbsc/src/libcommon/gsm_data_shared.c
index 06a095e27..9e7b59c9f 100644
--- a/openbsc/src/libcommon/gsm_data_shared.c
+++ b/openbsc/src/libcommon/gsm_data_shared.c
@@ -173,6 +173,28 @@ struct gsm_bts_trx *gsm_bts_trx_alloc(struct gsm_bts *bts)
static const uint8_t bts_nse_timer_default[] = { 3, 3, 3, 3, 30, 3, 10 };
static const uint8_t bts_cell_timer_default[] =
{ 3, 3, 3, 3, 3, 10, 3, 10, 3, 10, 3 };
+static const struct gprs_rlc_cfg rlc_cfg_default = {
+ .parameter = {
+ [RLC_T3142] = 20,
+ [RLC_T3169] = 5,
+ [RLC_T3191] = 5,
+ [RLC_T3193] = 200, /* 10ms */
+ [RLC_T3195] = 5,
+ [RLC_N3101] = 10,
+ [RLC_N3103] = 4,
+ [RLC_N3105] = 8,
+ [CV_COUNTDOWN] = 15,
+ [T_DL_TBF_EXT] = 250 * 10, /* ms */
+ [T_UL_TBF_EXT] = 250 * 10, /* ms */
+ },
+ .paging = {
+ .repeat_time = 5 * 50, /* ms */
+ .repeat_count = 3,
+ },
+ .cs_mask = 0x1fff,
+ .initial_cs = 2,
+ .initial_mcs = 6,
+};
struct gsm_bts *gsm_bts_alloc(void *ctx)
{
@@ -205,6 +227,8 @@ struct gsm_bts *gsm_bts_alloc(void *ctx)
sizeof(bts->gprs.cell.timer));
gsm_mo_init(&bts->gprs.cell.mo, bts, NM_OC_GPRS_CELL,
bts->nr, 0xff, 0xff);
+ memcpy(&bts->gprs.cell.rlc_cfg, &rlc_cfg_default,
+ sizeof(bts->gprs.cell.rlc_cfg));
/* create our primary TRX */
bts->c0 = gsm_bts_trx_alloc(bts);