pespin has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-bsc/+/27228 )


Change subject: bts: Add explicit swithch case for Cell Id SAI
......................................................................

bts: Add explicit swithch case for Cell Id SAI

This patch imposes no logical change in the code on itself, but makes
sure people compiling osmo-bsc uses an old enough libosmocore
implementing Cell Identifier SAI. This is important since adding the SAI
ID (CELL_IDENT_SAI) displaced CELL_IDENT_WHOLE_GLOBAL_PS to a new
number outside of the 3GPP range for cell IDS (4 bits, this way we
garantee we won't have the same problem again).

This means there was an ABI breakage (see Depends below).
As a result, using an osmo-bsc compiled against an older libosmocore
, and then using at runtime against a newer version of libosmocore, will
most probably provoke some RIM features to not work properly, since
libosmocore will handle CGI-PS cell ids sent by osmo-bsc as SAI ones,
and most probably do wrong comparisons when matching (they only match up
to LAI included).

ABI break analysis:
osmo-bsc uses CELL_IDENT_WHOLE_GLOBAL_PS in:
* gsm0808_dec_cell_id_list2() -> this is called on stuff received from the
                                 network, so it's actually fine handling it
                                correctly as CELL_IDENT_UTRAN_SAI instead
                                of CGI_PS.
* gsm0808_cell_id_list_add
        same_cell_id_list_entries
                gsm0808_enc_cell_id_list2
                        cell_id_to_cgi-> On old osmo-bsc, When
                                         CELL_IDENT_WHOLE_GLOBAL_PS is passed
                                         to be encoded as CGI, RAC byte is
                                         taken for encoding instead of 2nd CI 
byte.
* gsm0808_cell_ids_match
        gsm0808_cell_id_u_match
                cell_id_to_cgi -> If CELL_IDENT_WHOLE_GLOBAL_PS as 0x11
                                  (CELL_IDENT_UTRAN_SAI), 1 byte offset when
                                  comparing (1 byte of RAC is taken converting 
to
                                  CGI instead of the 2nd byte of CI). That means
                                  match would be wrong if 2nd byte of CI 
differs.

Related: SYS#5838
Depends: libosmocore.git Change-Id Id25e563febdb7640174540136225f399515a0089
Change-Id: I70972efffefd57fd36332fab539683696c32f4a5
---
M TODO-RELEASE
M src/osmo-bsc/bts.c
2 files changed, 2 insertions(+), 0 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/28/27228/1

diff --git a/TODO-RELEASE b/TODO-RELEASE
index d0852fc..e0c43d9 100644
--- a/TODO-RELEASE
+++ b/TODO-RELEASE
@@ -7,3 +7,4 @@
 # If any interfaces have been added since the last public release: c:r:a + 1.
 # If any interfaces have been removed or changed since the last public 
release: c:r:0.
 #library       what            description / commit summary line
+libosmogsm >1.6.0 required due to CELL_IDENT_WHOLE_GLOBAL_PS/SAI ABI breakage
diff --git a/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c
index 1461585..c3e87b3 100644
--- a/src/osmo-bsc/bts.c
+++ b/src/osmo-bsc/bts.c
@@ -524,6 +524,7 @@
        case CELL_IDENT_UTRAN_PLMN_LAC_RNC:
        case CELL_IDENT_UTRAN_RNC:
        case CELL_IDENT_UTRAN_LAC_RNC:
+       case CELL_IDENT_SAI:
                return false;
        default:
                OSMO_ASSERT(false);

--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/27228
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I70972efffefd57fd36332fab539683696c32f4a5
Gerrit-Change-Number: 27228
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <[email protected]>
Gerrit-MessageType: newchange

Reply via email to