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 Hofmeyr gerrit-no-reply at lists.osmocom.orgNeels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/11371 Change subject: remote-BSS neighbors: allow only one cell ID ...................................................................... remote-BSS neighbors: allow only one cell ID I believe I have initially misinterpreted the idea behind sending a Cell Identifier List in BSSMAP Handover Required messages. Instead of associating N Cell Identifiers with one ARFCN+BSIC, the idea is to add up N separate ARFCN+BSIC's Cell Identifiers into a list. To keep the door open for future code simplification, make sure to allow only one Cell Identifier per remote ARFCN+BSIC on the VTY UI. Related: OS#3656 Change-Id: Ifb9212fede2333ad68db94188b5cda4fcabe02f8 --- M src/osmo-bsc/neighbor_ident_vty.c M tests/neighbor_ident.vty 2 files changed, 112 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/71/11371/1 diff --git a/src/osmo-bsc/neighbor_ident_vty.c b/src/osmo-bsc/neighbor_ident_vty.c index 409153b..203b150 100644 --- a/src/osmo-bsc/neighbor_ident_vty.c +++ b/src/osmo-bsc/neighbor_ident_vty.c @@ -258,6 +258,7 @@ { int rc; struct gsm_bts *local_neigh; + const struct gsm0808_cell_id_list2 *exists; struct gsm0808_cell_id_list2 cil; struct gsm_bts *bts = vty->index; @@ -289,6 +290,15 @@ return add_local_bts(vty, local_neigh); } + /* Allow only one cell ID per remote-BSS neighbor, see OS#3656 */ + exists = neighbor_ident_get(g_neighbor_cells, key); + if (exists) { + vty_out(vty, "%% Error: only one Cell Identifier entry is allowed per remote neighbor." + " Already have: %s -> %s%s", neighbor_ident_key_name(key), + gsm0808_cell_id_list_name(exists), VTY_NEWLINE); + return CMD_WARNING; + } + /* The cell_id is not known in this BSS, so it must be a remote cell. */ gsm0808_cell_id_to_list(&cil, cell_id); rc = neighbor_ident_add(g_neighbor_cells, key, &cil); diff --git a/tests/neighbor_ident.vty b/tests/neighbor_ident.vty index 4f86383..2ce2231 100644 --- a/tests/neighbor_ident.vty +++ b/tests/neighbor_ident.vty @@ -211,29 +211,29 @@ OsmoBSC(config-net-bts)# neighbor lac-ci 21 31 % BTS 0 already had local neighbor BTS 1 with LAC 21 CI 31 and ARFCN 41 BSIC 11 OsmoBSC(config-net-bts)# neighbor cgi 23 42 423 5 arfcn 23 bsic 42 -% BTS 0 to ARFCN 23 BSIC 42 now has 1 remote BSS Cell Identifier List entry +% Error: only one Cell Identifier entry is allowed per remote neighbor. Already have: BTS 0 to ARFCN 23 BSIC 42 -> CGI[1]:{023-42-423-5} OsmoBSC(config-net-bts)# neighbor cgi 23 42 423 5 arfcn 23 bsic 42 -% BTS 0 to ARFCN 23 BSIC 42 now has 1 remote BSS Cell Identifier List entry +% Error: only one Cell Identifier entry is allowed per remote neighbor. Already have: BTS 0 to ARFCN 23 BSIC 42 -> CGI[1]:{023-42-423-5} OsmoBSC(config-net-bts)# neighbor cgi 23 42 423 5 arfcn 23 bsic 42 -% BTS 0 to ARFCN 23 BSIC 42 now has 1 remote BSS Cell Identifier List entry +% Error: only one Cell Identifier entry is allowed per remote neighbor. Already have: BTS 0 to ARFCN 23 BSIC 42 -> CGI[1]:{023-42-423-5} OsmoBSC(config-net-bts)# neighbor cgi 23 042 423 6 arfcn 23 bsic 42 -% BTS 0 to ARFCN 23 BSIC 42 now has 2 remote BSS Cell Identifier List entries +% Error: only one Cell Identifier entry is allowed per remote neighbor. Already have: BTS 0 to ARFCN 23 BSIC 42 -> CGI[1]:{023-42-423-5} OsmoBSC(config-net-bts)# neighbor lac 456 arfcn 123 bsic 45 % BTS 0 to ARFCN 123 BSIC 45 now has 1 remote BSS Cell Identifier List entry OsmoBSC(config-net-bts)# neighbor cgi 23 042 234 56 arfcn 23 bsic 42 -% BTS 0 to ARFCN 23 BSIC 42 now has 3 remote BSS Cell Identifier List entries +% Error: only one Cell Identifier entry is allowed per remote neighbor. Already have: BTS 0 to ARFCN 23 BSIC 42 -> CGI[1]:{023-42-423-5} OsmoBSC(config-net-bts)# neighbor lac-ci 789 10 arfcn 423 bsic any % BTS 0 to ARFCN 423 (any BSIC) now has 1 remote BSS Cell Identifier List entry OsmoBSC(config-net-bts)# neighbor lac-ci 789 10 arfcn 423 bsic 63 -% BTS 0 to ARFCN 423 BSIC 63 now has 1 remote BSS Cell Identifier List entry +% Error: only one Cell Identifier entry is allowed per remote neighbor. Already have: BTS 0 to ARFCN 423 BSIC 63 -> LAC-CI[1]:{789-10} OsmoBSC(config-net-bts)# neighbor lac-ci 789 10 arfcn 423 bsic 1 -% BTS 0 to ARFCN 423 BSIC 1 now has 1 remote BSS Cell Identifier List entry +% Error: only one Cell Identifier entry is allowed per remote neighbor. Already have: BTS 0 to ARFCN 423 BSIC 1 -> LAC-CI[1]:{789-10} OsmoBSC(config-net-bts)# show running-config ... @@ -244,12 +244,8 @@ neighbor bts 1 neighbor bts 2 neighbor cgi 023 42 423 5 arfcn 23 bsic 42 - neighbor cgi 023 042 423 6 arfcn 23 bsic 42 - neighbor cgi 023 042 234 56 arfcn 23 bsic 42 neighbor lac 456 arfcn 123 bsic 45 neighbor lac-ci 789 10 arfcn 423 bsic any - neighbor lac-ci 789 10 arfcn 423 bsic 63 - neighbor lac-ci 789 10 arfcn 423 bsic 1 ... !neighbor OsmoBSC(config-net-bts)# do show bts 0 neighbor arfcn 99 bsic any @@ -271,13 +267,103 @@ % Removed remote BSS neighbor BTS 0 to ARFCN 23 BSIC 42 OsmoBSC(config-net-bts)# show running-config -... !neighbor + +Current configuration: +! +! +log stderr + logging filter all 1 + logging color 1 + logging print category 0 + logging timestamp 0 + logging print file 1 + logging level rll notice + logging level mm notice + logging level rr notice + logging level rsl notice + logging level nm info + logging level pag notice + logging level meas notice + logging level msc notice + logging level ho notice + logging level hodec notice + logging level ref notice + logging level nat notice + logging level ctrl notice + logging level filter debug + logging level pcu debug + logging level lcls notice + logging level chan notice + logging level ts notice + logging level as notice + logging level lglobal notice + logging level llapd notice + logging level linp notice + logging level lmux notice + logging level lmi notice + logging level lmib notice + logging level lsms notice + logging level lctrl notice + logging level lgtp notice + logging level lstats notice + logging level lgsup notice + logging level loap notice + logging level lss7 notice + logging level lsccp notice + logging level lsua notice + logging level lm3ua notice + logging level lmgcp notice + logging level ljibuf notice +! +stats interval 5 +! +line vty + no login +! +e1_input + e1_line 0 driver ipa + e1_line 0 port 0 + no e1_line 0 keepalive +cs7 instance 0 + point-code 0.23.3 + asp asp-clnt-msc-0 2905 0 m3ua + as as-clnt-msc-0 m3ua + asp asp-clnt-msc-0 + routing-key 0 0.23.3 +network + network country code 901 + mobile network code 70 + encryption a5 1 3 + neci 0 + paging any use tch 0 + bts 0 + type sysmobts + band DCS1800 + cell_identity 30 + location_area_code 20 + base_station_id_code 10 + ms max power 15 + cell reselection hysteresis 4 + rxlev access min 0 + radio-link-timeout 32 + channel allocator ascending + rach tx integer 9 + rach max transmission 7 + channel-descrption attach 1 + channel-descrption bs-pa-mfrms 5 + channel-descrption bs-ag-blks-res 1 + no access-control-class-ramping + access-control-class-ramping-step-interval dynamic + access-control-class-ramping-step-size 1 + early-classmark-sending forbidden + early-classmark-sending-3g allowed + ip.access unit_id 1800 0 + oml ip.access stream_id 255 line 0 + neighbor-list mode automatic neighbor bts 1 neighbor bts 2 neighbor lac 456 arfcn 123 bsic 45 neighbor lac-ci 789 10 arfcn 423 bsic any - neighbor lac-ci 789 10 arfcn 423 bsic 63 - neighbor lac-ci 789 10 arfcn 423 bsic 1 ... !neighbor OsmoBSC(config-net-bts)# no neighbor arfcn 123 bsic 45 @@ -288,8 +374,6 @@ neighbor bts 1 neighbor bts 2 neighbor lac-ci 789 10 arfcn 423 bsic any - neighbor lac-ci 789 10 arfcn 423 bsic 63 - neighbor lac-ci 789 10 arfcn 423 bsic 1 ... !neighbor OsmoBSC(config-net-bts)# no neighbor arfcn 423 bsic any @@ -299,22 +383,19 @@ ... !neighbor neighbor bts 1 neighbor bts 2 - neighbor lac-ci 789 10 arfcn 423 bsic 63 - neighbor lac-ci 789 10 arfcn 423 bsic 1 ... !neighbor OsmoBSC(config-net-bts)# no neighbor arfcn 423 bsic 63 -% Removed remote BSS neighbor BTS 0 to ARFCN 423 BSIC 63 +% Cannot remove, no such neighbor: BTS 0 to ARFCN 423 BSIC 63 OsmoBSC(config-net-bts)# show running-config ... !neighbor neighbor bts 1 neighbor bts 2 - neighbor lac-ci 789 10 arfcn 423 bsic 1 ... !neighbor OsmoBSC(config-net-bts)# no neighbor arfcn 423 bsic 1 -% Removed remote BSS neighbor BTS 0 to ARFCN 423 BSIC 1 +% Cannot remove, no such neighbor: BTS 0 to ARFCN 423 BSIC 1 OsmoBSC(config-net-bts)# show running-config ... !neighbor -- To view, visit https://gerrit.osmocom.org/11371 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ifb9212fede2333ad68db94188b5cda4fcabe02f8 Gerrit-Change-Number: 11371 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr <nhofmeyr at sysmocom.de> -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20181016/0ba96fd2/attachment.htm>