diff options
author | Harald Welte <laforge@netfilter.org> | 2009-12-21 13:30:17 +0100 |
---|---|---|
committer | Harald Welte <laforge@netfilter.org> | 2009-12-21 13:33:10 +0100 |
commit | f7c28b099f928cc6fb48fc9cc072656d8c3bb902 (patch) | |
tree | 2631e72801c2e13a2b47564f9616174cb195c372 /openbsc/src/chan_alloc.c | |
parent | ade773f44193052ade3be70b794130dd6a39ee06 (diff) |
[handover] Real handover algorithm
This implements the handover algorithm (and associated parameters)
as described in Chapter 8 of the book "Performance Enhancements in
a Frequency |Hopping GSM Network" by Thomas Toftegard Nielsen and Jeroen
Wigard.
The parameters such as averaging windows are configured in struct
gsm_network. We keep some state to trakc up to 10 neighbors as
they are being reported from the MS.
This has so far only been tested in a network with two BTS that
have each other as neighbor. Networks with morge neighbors might
encounter bugs.
Diffstat (limited to 'openbsc/src/chan_alloc.c')
-rw-r--r-- | openbsc/src/chan_alloc.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/openbsc/src/chan_alloc.c b/openbsc/src/chan_alloc.c index a23192ae6..c42b60b46 100644 --- a/openbsc/src/chan_alloc.c +++ b/openbsc/src/chan_alloc.c @@ -259,6 +259,8 @@ void lchan_free(struct gsm_lchan *lchan) lchan->meas_rep[i].flags = 0; lchan->meas_rep[i].nr = 0; } + for (i = 0; i < ARRAY_SIZE(lchan->neigh_meas); i++) + lchan->neigh_meas[i].arfcn = 0; /* FIXME: ts_free() the timeslot, if we're the last logical * channel using it */ |