gbproxy: Fix P-TMSI reassignment

Currently, a new P-TMSI within an Attach Accept or within an RA
Update Request is applied to the TLLI mapping (gbproxy_reassign_tlli)
_before_ patching is done. This can lead to inconsistent behaviour
when the TLLI validation has not been completed, which is the case
when subsequent RA UDP REQ are received. The new TLLI must not be
applied to the message itself yet, it should only be considered for
following messages.

This patch moves the TLLI reassignment to
gbproxy_update_tlli_state_after() to fix that.

It also separates the implementation of the feature that a new
tlli_info can be created when such a message is received from the
SGSN. This makes sense, when P-TMSI patching is not active and the
tlli_info entry has expired.

Sponsored-by: On-Waves ehf
diff --git a/openbsc/tests/gbproxy/gbproxy_test.ok b/openbsc/tests/gbproxy/gbproxy_test.ok
index 8e6770a..389c68c 100644
--- a/openbsc/tests/gbproxy/gbproxy_test.ok
+++ b/openbsc/tests/gbproxy/gbproxy_test.ok
@@ -2276,19 +2276,18 @@
 
 NS UNITDATA MESSAGE to BSS, BVCI 0x1002, msg length 87 (gprs_ns_sendmsg)
 MESSAGE to BSS at 0x01020304:1111, msg length 91
-00 00 10 02 00 e0 98 76 54 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 9d 41 c0 11 08 09 00 49 21 63 54 40 50 60 19 54 ab b3 18 05 f4 e0 54 32 10 17 16 1b a3 a8 
+00 00 10 02 00 e6 56 aa 1f 00 50 20 16 82 02 58 13 99 18 b3 43 2b 25 96 62 00 60 80 9a c2 c6 62 00 60 80 ba c8 c6 62 00 60 80 00 0a 82 08 02 0d 88 11 12 13 14 15 16 17 18 00 81 00 0e 9d 41 c0 11 08 09 00 49 11 22 33 40 50 60 19 54 ab b3 18 05 f4 ea d4 77 5a 17 16 31 d5 78 
 
 result (RA UDP ACC (P-TMSI 3)) = 91
 
 Peers:
   NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
     RAID patched              (BSS ): 11
-    RAID patched              (SGSN): 2
+    RAID patched              (SGSN): 3
     APN patched                     : 1
     TLLI patched              (BSS ): 8
-    TLLI patched              (SGSN): 6
-    P-TMSI patched            (SGSN): 2
-    Patch error: other              : 1
+    TLLI patched              (SGSN): 7
+    P-TMSI patched            (SGSN): 3
     Attach Request count            : 1
     TLLI cache size                 : 1
     TLLI-Cache: 1
@@ -2320,12 +2319,11 @@
 Peers:
   NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
     RAID patched              (BSS ): 12
-    RAID patched              (SGSN): 2
+    RAID patched              (SGSN): 3
     APN patched                     : 1
     TLLI patched              (BSS ): 9
-    TLLI patched              (SGSN): 7
-    P-TMSI patched            (SGSN): 2
-    Patch error: other              : 1
+    TLLI patched              (SGSN): 8
+    P-TMSI patched            (SGSN): 3
     Attach Request count            : 1
     TLLI cache size                 : 1
     TLLI-Cache: 1
@@ -2345,12 +2343,11 @@
 Peers:
   NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
     RAID patched              (BSS ): 12
-    RAID patched              (SGSN): 2
+    RAID patched              (SGSN): 3
     APN patched                     : 1
     TLLI patched              (BSS ): 10
-    TLLI patched              (SGSN): 7
-    P-TMSI patched            (SGSN): 2
-    Patch error: other              : 1
+    TLLI patched              (SGSN): 8
+    P-TMSI patched            (SGSN): 3
     Attach Request count            : 1
     TLLI cache size                 : 1
     TLLI-Cache: 1
@@ -2370,12 +2367,11 @@
 Peers:
   NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
     RAID patched              (BSS ): 13
-    RAID patched              (SGSN): 2
+    RAID patched              (SGSN): 3
     APN patched                     : 1
     TLLI patched              (BSS ): 11
-    TLLI patched              (SGSN): 7
-    P-TMSI patched            (SGSN): 2
-    Patch error: other              : 1
+    TLLI patched              (SGSN): 8
+    P-TMSI patched            (SGSN): 3
     Attach Request count            : 1
     TLLI cache size                 : 1
     TLLI-Cache: 1
@@ -2395,12 +2391,11 @@
 Peers:
   NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
     RAID patched              (BSS ): 13
-    RAID patched              (SGSN): 3
+    RAID patched              (SGSN): 4
     APN patched                     : 1
     TLLI patched              (BSS ): 11
-    TLLI patched              (SGSN): 8
-    P-TMSI patched            (SGSN): 2
-    Patch error: other              : 1
+    TLLI patched              (SGSN): 9
+    P-TMSI patched            (SGSN): 3
     Attach Request count            : 1
     TLLI cache size                 : 1
     TLLI-Cache: 1
@@ -2463,13 +2458,12 @@
 Peers:
   NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
     RAID patched              (BSS ): 14
-    RAID patched              (SGSN): 4
+    RAID patched              (SGSN): 5
     APN patched                     : 1
     TLLI patched              (BSS ): 13
-    TLLI patched              (SGSN): 9
+    TLLI patched              (SGSN): 10
     P-TMSI patched            (BSS ): 1
-    P-TMSI patched            (SGSN): 2
-    Patch error: other              : 1
+    P-TMSI patched            (SGSN): 3
     Attach Request count            : 1
     TLLI cache size                 : 1
     TLLI-Cache: 1
@@ -2489,13 +2483,12 @@
 Peers:
   NSEI 4096, BVCI 4098, not blocked, RAI 112-332-16464-96
     RAID patched              (BSS ): 14
-    RAID patched              (SGSN): 4
+    RAID patched              (SGSN): 5
     APN patched                     : 1
     TLLI patched              (BSS ): 13
-    TLLI patched              (SGSN): 10
+    TLLI patched              (SGSN): 11
     P-TMSI patched            (BSS ): 1
-    P-TMSI patched            (SGSN): 2
-    Patch error: other              : 1
+    P-TMSI patched            (SGSN): 3
     Attach Request count            : 1
     TLLI-Cache: 0
 Gbproxy global: