diff options
author | Vadim Yanitskiy <vyanitskiy@sysmocom.de> | 2021-01-05 14:55:38 +0100 |
---|---|---|
committer | laforge <laforge@osmocom.org> | 2021-01-11 14:21:21 +0000 |
commit | e2ad6ebb7a411d0854d123d35584c79e14005eba (patch) | |
tree | 4d36af3b194202c6f6811ec22a82b6a9675da427 | |
parent | 5d797c426414a339ba404c994d93f81a6f4973ec (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.c | 3 |
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, |