aboutsummaryrefslogtreecommitdiffstats
path: root/include/osmocom/bsc/neighbor_ident.h
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2019-07-13 01:12:53 +0200
committerNeels Hofmeyr <neels@hofmeyr.de>2019-08-13 23:47:23 +0200
commit91a202d4885d1e3aff6cb090ec688d695c2cd26b (patch)
treed3a0ebfff0c2acdce868a4756cd3231e41563443 /include/osmocom/bsc/neighbor_ident.h
parent12224e7ca7201b78cdf78b055065f07d223a060d (diff)
neighbor config: allow re-using ARFCN+BSIC pairs
Fix neighbor config to match OsmoBSC manual: implement the plan for neighbor configuration that was so far only described in the manual without actually being in operation. This first allows re-using ARFCN+BSIC pairs in and across BSS. So far the handover_start() code always looked for handover target cells across *all* local cells, even if they were not listed as neighbors to a source cell. Imply all cells as neighbors only as long as there are no explicit neighbors configured. As soon as the first 'neighbor' line appears in a 'bts' config, only the listed neighbors are regarded as handover target cells. (The 'neighbor-list' commands are not related to this, only the relatively new 'neighbor (bts|lac|cgi|...)' commands affect actual handover procedures.) TTCN3 tests TC_ho_neighbor_config_1 thru _7 play through the various aspects of neighbor configuration: both the legacy implicit all-cells-are-neighbors as well as allowing only explicit neighbors by config. Related: OS#4056 Related: osmo-ttcn3-hacks Ia4ba0e75abd3d45a3422b2525e5f938cdc5a04cc Change-Id: I29bca59ab232eddc74e0d4698efb9c9992443983
Diffstat (limited to 'include/osmocom/bsc/neighbor_ident.h')
-rw-r--r--include/osmocom/bsc/neighbor_ident.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/osmocom/bsc/neighbor_ident.h b/include/osmocom/bsc/neighbor_ident.h
index 17bffbc14..aa3827635 100644
--- a/include/osmocom/bsc/neighbor_ident.h
+++ b/include/osmocom/bsc/neighbor_ident.h
@@ -47,6 +47,8 @@ void neighbor_ident_iter(const struct neighbor_ident_list *nil,
void neighbor_ident_vty_init(struct gsm_network *net, struct neighbor_ident_list *nil);
void neighbor_ident_vty_write(struct vty *vty, const char *indent, struct gsm_bts *bts);
+bool neighbor_ident_bts_entry_exists(uint8_t from_bts);
+
#define NEIGHBOR_IDENT_VTY_KEY_PARAMS "arfcn <0-1023> bsic (<0-63>|any)"
#define NEIGHBOR_IDENT_VTY_KEY_DOC \
"ARFCN of neighbor cell\n" "ARFCN value\n" \