aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVadim Yanitskiy <vyanitskiy@sysmocom.de>2021-01-05 14:55:38 +0100
committerlaforge <laforge@osmocom.org>2021-01-11 14:21:21 +0000
commite2ad6ebb7a411d0854d123d35584c79e14005eba (patch)
tree4d36af3b194202c6f6811ec22a82b6a9675da427
parent5d797c426414a339ba404c994d93f81a6f4973ec (diff)
gprs_bssgp: abuse gsm48_encode_ra() to encode TAC
Both LAC and TAC take 2 octets and follow MCC/MNC fields on the wire. We abuse gsm48_encode_ra() for encoding of MCC/MNC, but it can also be abused to encode TAC in bssgp_create_rim_ri(). There is no need to encode '0000'O and then override it with osmo_store16be(). Change-Id: I986552aa52cf38b1c5290d2e5cd3ff2d1c36a4e5
-rw-r--r--src/gb/gprs_bssgp.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gb/gprs_bssgp.c b/src/gb/gprs_bssgp.c
index bf0e821a..530c7029 100644
--- a/src/gb/gprs_bssgp.c
+++ b/src/gb/gprs_bssgp.c
@@ -402,10 +402,11 @@ int bssgp_create_rim_ri(uint8_t *buf, const struct bssgp_rim_routing_info *ri)
.mcc = ri->eutran.tai.mcc,
.mnc = ri->eutran.tai.mnc,
.mnc_3_digits = ri->eutran.tai.mnc_3_digits,
+ /* TAC is encoded in the same way as LAC */
+ .lac = ri->eutran.tai.tac,
};
gsm48_encode_ra((struct gsm48_ra_id *)buf, &raid_temp);
- osmo_store16be(ri->eutran.tai.tac, buf + 3);
OSMO_ASSERT(ri->eutran.global_enb_id_len <=
sizeof(ri->eutran.global_enb_id));
memcpy(buf + 5, ri->eutran.global_enb_id,