This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
neels gerrit-no-reply at lists.osmocom.orgneels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19901 ) Change subject: handover: fix detection for ambiguous HO neighbor ident ...................................................................... handover: fix detection for ambiguous HO neighbor ident Adding rate counter checks to TC_ho_neighbor_config_1 (1.c) uncovers that the test passes for the wrong reason. The ambiguous cell identification should be the cause for the handover error, but the log shows that instead a handover is attempted to BTS 3 which is not connected. find_handover_target_cell() first tries to find a precise match of values, and in a second pass applies wildcards like BSIC_ANY and NEIGHBOR_IDENT_KEY_ANY_BTS. That second pass lacks detection of ambiguous matches. Use the same code for both passes, by encapsulating in a loop of two, which first runs with exact_match == true and then false. Proper detection of the ambiguous target cell identification in TC_ho_neighbor_config_1() is shown by the resulting 'handover:error' count, see I10bc0b67ca8dcf41dbb02332ed18017e819c2b32 (osmo-ttcn3-hacks). Related: OS#4736 Related: I10bc0b67ca8dcf41dbb02332ed18017e819c2b32 (osmo-ttcn3-hacks) Change-Id: Ib0087b6566ae4d82f8c3ef272c1256bcd1d08bf1 --- M src/osmo-bsc/handover_logic.c 1 file changed, 21 insertions(+), 19 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/src/osmo-bsc/handover_logic.c b/src/osmo-bsc/handover_logic.c index 071228e..ade330d 100644 --- a/src/osmo-bsc/handover_logic.c +++ b/src/osmo-bsc/handover_logic.c @@ -183,32 +183,34 @@ /* No explicit neighbor entries exist for this BTS. Hence apply the legacy default behavior that all * local cells are neighbors. */ struct gsm_bts *bts; - struct gsm_bts *wildcard_match = NULL; + int i; LOG_HO(conn, LOGL_DEBUG, "No explicit neighbors, regarding all local cells as neighbors\n"); - llist_for_each_entry(bts, &net->bts_list, list) { - struct neighbor_ident_key bts_key = *bts_ident_key(bts); - if (neighbor_ident_key_match(&bts_key, search_for, true)) { - if (local_target_cell) { - if (log_errors) - LOG_HO(conn, LOGL_ERROR, - "NEIGHBOR CONFIGURATION ERROR: Multiple local cells match %s" - " (BTS %d and BTS %d)." - " Aborting Handover because of ambiguous network topology.\n", - neighbor_ident_key_name(search_for), - local_target_cell->nr, bts->nr); - return -EINVAL; + /* For i == 0, look for an exact 1:1 match of all ident_key fields. + * For i == 1, interpret wildcard values, when no exact match exists. */ + for (i = 0; i < 2; i++) { + bool exact_match = !i; + llist_for_each_entry(bts, &net->bts_list, list) { + struct neighbor_ident_key bts_key = *bts_ident_key(bts); + if (neighbor_ident_key_match(&bts_key, search_for, exact_match)) { + if (local_target_cell) { + if (log_errors) + LOG_HO(conn, LOGL_ERROR, + "NEIGHBOR CONFIGURATION ERROR: Multiple local cells match %s" + " (BTS %d and BTS %d)." + " Aborting Handover because of ambiguous network topology.\n", + neighbor_ident_key_name(search_for), + local_target_cell->nr, bts->nr); + return -EINVAL; + } + local_target_cell = bts; } - local_target_cell = bts; } - if (neighbor_ident_key_match(&bts_key, search_for, false)) - wildcard_match = bts; + if (local_target_cell) + break; } - if (!local_target_cell) - local_target_cell = wildcard_match; - if (!local_target_cell) { if (log_errors) LOG_HO(conn, LOGL_ERROR, "Cannot Handover, no cell matches %s\n", -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/19901 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib0087b6566ae4d82f8c3ef272c1256bcd1d08bf1 Gerrit-Change-Number: 19901 Gerrit-PatchSet: 3 Gerrit-Owner: neels <nhofmeyr at sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge at osmocom.org> Gerrit-Reviewer: neels <nhofmeyr at sysmocom.de> Gerrit-Reviewer: pespin <pespin at sysmocom.de> Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20200831/cf87a6b7/attachment.htm>