diff options
author | Vadim Yanitskiy <vyanitskiy@sysmocom.de> | 2020-11-08 13:27:35 +0700 |
---|---|---|
committer | fixeria <vyanitskiy@sysmocom.de> | 2020-11-10 17:06:39 +0000 |
commit | cb98894eb1d9dfa8a2b040224a0a5605db38a2cf (patch) | |
tree | 64091d033624e58fde52c61a3e17eba0bb5cf8c7 /tests/ms | |
parent | 305763dc6f63feada8636f05e9ce22b8d880e152 (diff) |
TLLI 0x00000000 is a valid TLLI, use 0xffffffff instead
The assumption that TLLI 0x00000000 is invalid and can be used
as the initializer is wrong. Similar to TMSI, 0x00000000 is a
perfectly valid value, while 0xffffffff is reserved - use it.
According to 3GPP TS 23.003, section 2.4, a TMSI/P-TMSI with
all 32 bits equal to 1 is special and shall not be allocated by
the network. The reason is that it must be stored on the SIM,
where 'ff'O represents the erased state. According to section
2.6 of the same document, a local/foreign TLLI is derived from
P-TMSI, so the same rule applies to TLLI.
I manually checked and corrected all occurances of 'tlli' in the
code. The test expectations have been adjusted with this command:
$ find tests/ -name "*.err" | xargs sed -i "s/0x00000000/0xffffffff/g"
so there should be no behavior change. The only exception is
the 'TypesTest', where TLLI 0xffffffff is being encoded and
expected in the hexdump, so I regenerated the test output.
Change-Id: Ie89fab75ecc1d8b5e238d3ff214ea7ac830b68b5
Related: OS#4844
Diffstat (limited to 'tests/ms')
-rw-r--r-- | tests/ms/MsTest.err | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/tests/ms/MsTest.err b/tests/ms/MsTest.err index 45aac049..51ab68db 100644 --- a/tests/ms/MsTest.err +++ b/tests/ms/MsTest.err @@ -35,17 +35,17 @@ Modifying MS object, TLLI: 0xaa000000 confirmed The MS object cannot fully confirm an unexpected TLLI: 0xff001111, partly confirmed Modifying MS object, TLLI: 0xaa000000 -> 0xff001111, already confirmed partly Destroying MS object, TLLI = 0xff001111 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, UL TLLI: 0x00000000 -> 0xffeeddbb, not yet confirmed +Creating MS object, TLLI = 0xffffffff +Modifying MS object, UL TLLI: 0xffffffff -> 0xffeeddbb, not yet confirmed Modifying MS object, TLLI = 0xffeeddbb, IMSI '' -> '001001987654321' -Creating MS object, TLLI = 0x00000000 -Modifying MS object, UL TLLI: 0x00000000 -> 0xffeeddbc, not yet confirmed +Creating MS object, TLLI = 0xffffffff +Modifying MS object, UL TLLI: 0xffffffff -> 0xffeeddbc, not yet confirmed Modifying MS object, TLLI = 0xffeeddbc, IMSI '' -> '001001987654322' Attaching TBF to MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NULL) Detaching TBF from MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NULL) Destroying MS object, TLLI = 0xffeeddbb -Attaching TBF to MS object, TLLI = 0xffeeddbc, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) -Detaching TBF from MS object, TLLI = 0xffeeddbc, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) +Attaching TBF to MS object, TLLI = 0xffeeddbc, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) +Detaching TBF from MS object, TLLI = 0xffeeddbc, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) Destroying MS object, TLLI = 0xffeeddbc Creating MS object, TLLI = 0xffeeddbb Attaching TBF to MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NULL) |