osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/38156?usp=email )
Change subject: llc: Mark old/current tlli as all 1's when unassigning LLME ......................................................................
llc: Mark old/current tlli as all 1's when unassigning LLME
TS 44.064 section 8.3.3 (and other sections) talk about special unassigned value of "all 1's", but I couldn't find any reference to a "all 0's" specific value/meaning. In practice in the code this may not be super important since those values may not ve checked due to the FSM state, but in any case they are initially set to all 1's, so it makes total sense to re-set them to the same unassigned value instead of a randomly chosen all 0's value.
Change-Id: I660c8d0ef08b34f8cb74fd51b5c59e5628d687ae (cherry picked from commit 35c178e84d25a216a5c2d9bd1320d072e36937fa) --- M src/sgsn/gprs_llc.c 1 file changed, 1 insertion(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/56/38156/1
diff --git a/src/sgsn/gprs_llc.c b/src/sgsn/gprs_llc.c index 6f56385..82e876d 100644 --- a/src/sgsn/gprs_llc.c +++ b/src/sgsn/gprs_llc.c @@ -1112,7 +1112,7 @@ llme->state = GPRS_LLMS_ASSIGNED; } else if (old_tlli != TLLI_UNASSIGNED && new_tlli == TLLI_UNASSIGNED) { /* TLLI Unassignment 8.3.3) */ - llme->tlli = llme->old_tlli = 0; + llme->tlli = llme->old_tlli = TLLI_UNASSIGNED; llme->state = GPRS_LLMS_UNASSIGNED; for (i = 0; i < ARRAY_SIZE(llme->lle); i++) { struct gprs_llc_lle *l = &llme->lle[i];