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/OpenBSC@lists.osmocom.org/.
Holger Hans Peter Freyther holger at freyther.deOn 10/15/2011 12:46 AM, Holger Hans Peter Freyther wrote: > On 10/15/2011 12:26 AM, Holger Hans Peter Freyther wrote: Hi, this is 'dangerous' but the below makes my E71 connect to the network. What will happen now is that N(U) will count upwards and after some failures my phone will do the GPRS ATTACH. Now this is dangerous as the TLLI we 'accept' is not part of our network... so I think we should assign a new TLLI and use the foreign one as old TLLI? So how to move forward from here? when will we delete the TLLI? how to deal with TLLIs that are not local (random, foreign, ...)? We should still create a context but it should not clash with other parts? Shall we put RAC in this context too? When will we purge old contexts? before (note RX not knowing it, TX still not knowing it): <0017> gprs_llc.c:700 LLC RX: unknown TLLI 0xb538c935, creating LLME on the fly <0002> gprs_gmm.c:920 -> GMM RA UPDATE REQUEST type="RA updating" REJECT <0002> gprs_gmm.c:859 <- ROUTING AREA UPDATE REJECT <0017> gprs_llc.c:118 TLLI 0xb538c935 is foreign, converting to local TLLI 0xf538c935 <0017> gprs_llc.c:343 LLC TX: unknown TLLI 0xb538c935, creating LLME on the fly after: <0017> gprs_llc.c:431 LLC SAPI=1 C FCS=0x184703CMD=UI DATA <0017> gprs_llc.c:118 TLLI 0xb538c935 is foreign, converting to local TLLI 0xf538c935 <0017> gprs_llc.c:118 TLLI 0xb538c935 is foreign, converting to local TLLI 0xf538c935 <0017> gprs_llc.c:702 LLC RX: unknown TLLI 0xb538c935, creating LLME on the fly <0002> gprs_gmm.c:920 -> GMM RA UPDATE REQUEST type="RA updating" REJECT <0002> gprs_gmm.c:859 <- ROUTING AREA UPDATE REJECT <0017> gprs_llc.c:118 TLLI 0xb538c935 is foreign, converting to local TLLI 0xf538c935 diff: diff --git a/openbsc/src/gprs/gprs_llc.c b/openbsc/src/gprs/gprs_llc.c index 3d4e986..a9c88c2 100644 --- a/openbsc/src/gprs/gprs_llc.c +++ b/openbsc/src/gprs/gprs_llc.c @@ -157,8 +157,10 @@ static struct gprs_llc_llme *llme_alloc(uint32_t tlli) if (!llme) return NULL; - llme->tlli = tlli; - llme->old_tlli = 0xffffffff; + llme->tlli = tlli_foreign2local(tlli); + llme->old_tlli = tlli; + if (llme->old_tlli == llme->tlli) + llme->old_tlli = 0xffffffff; llme->state = GPRS_LLMS_UNASSIGNED; for (i = 0; i < ARRAY_SIZE(llme->lle); i++)