path: root/src/osmo-bts-litecell15/l1_if.c
diff options
authorNeels Hofmeyr <neels@hofmeyr.de>2016-06-13 15:03:18 +0200
committerHarald Welte <laforge@gnumonks.org>2016-06-15 09:30:24 +0000
commit7158c2ed082eaca6063a501e490e8d3c3b181560 (patch)
tree69af1124768459a67afe6cc2a93f8344aa8e6777 /src/osmo-bts-litecell15/l1_if.c
parenta55b166c6c7af79cbefe8e65fe77b2d61c634d2d (diff)
sysmo: add L3 handle to l1prim messages
Place a layer 3 handle into GSM L1 messages to better match up confirmations to respective requests. This handle is a uint32_t transparently returned in the confirmation messages, so a match-up is easy to add. So far, a GSM L1 confirmation message received for a preceding L1 Request was matched only by the prim_id. That meant that only one instance of the same primitive could be waiting for a confirmation at any given time, or the responses would get mixed up: the struct wait_l1_conf instances entered into the fl1h->wlc_list queue would be returned to a possibly mismatching confirmation handler. (Seen during testing of dyn pdch switching.) Send the hLayer3 handle out via prim_init(), using new static functions to produce handles on different scopes: * l1p_handle_for_trx() * l1p_handle_for_ts() * l1p_handle_for_lchan() (These could possibly move to a more general .h/.c file later.) Remember the hLayer3 handle in * struct wait_l1_conf. Match the incoming confirmations' and stored hLayer3 handles up in, and remove a now obsolete comment from: * is_prim_compat() Since the hLayer3 members are at different byte offsets in GsmL1_Prim_t.u.*, use large switch statements to set/get the value: * In prim_init(), extend existing switch statement to set in GsmL1_Prim_t. * Add l1p_get_hLayer3() to retrieve from GsmL1_Prim_t (could possibly move to a more general .h/.c file later). Change-Id: Ie4533c6cbc160318917e7a672ab6f9a848f01d1b
Diffstat (limited to 'src/osmo-bts-litecell15/l1_if.c')
0 files changed, 0 insertions, 0 deletions