Commit Graph

19 Commits

Author SHA1 Message Date
Pau Espin a1f0842b38 llc,sndcp: Add missing hex prefix to log line printing TLLI
Change-Id: I8d31ed7cf89555a1ec3cbd91a77cc00cc42b546f
2023-07-31 18:24:10 +02:00
Pau Espin 5aa16e1c8d llc: Apply N201-I & N201-U requested by the network
Change-Id: I2f2cb8b831266b8e4251c2832e6545bef776658c
2023-07-26 20:23:00 +02:00
Pau Espin 7a75a16350 llc: Introduce function to log XID fields and use upon Rx/Tx
Change-Id: I8c6b07305c0bcecb4e1681967884a3e62c813592
2023-07-26 20:22:56 +02:00
Pau Espin c0bc613f60 llc: Introduce LL-ASSIGN.ind
TS 24.007, TS 24.008, TS 44.064 nor TS 44.065 explain how the TLLI
update happening during GMM RAU propagates to the SNDCP layer.
GMM only has interfaces towards LLC and GRR, and uses LLGMM-Assign.Req
and GMMRR-Assign.req to update the TLLI in the respective layers.
This patch adds a new primitive in the LL interface (LLC->SNDCP)
LL-Assign.ind to propagate the LLGM-Assign.req received from
GMM towards SNDCP, so that it can use the new TLLI in order to address
the specific MS.

Change-Id: Icb858f5397414b6d4183c21f13d35c0166ca7635
2023-07-20 11:59:32 +02:00
Pau Espin 8700df25d7 llc: Implement LLGM-TRIGGER.req
Change-Id: Id1af5912f407fe055a59a4bb217936307697975f
2023-05-25 15:28:31 +02:00
Pau Espin 409bb636d9 Fix typo llgm -> llgmm everywhere
Change-Id: Ic9cd63a6086526efdbd9184729bfae4b1cea56c1
2023-05-25 15:26:59 +02:00
Pau Espin e6e5dea4a5 llc: Implement some parts of LL-ESTABLISH.req/cnf
As seen in TS 23.007 C.6.
We still don't need/want to implement ABM (acknowledged mode), hence
only the interface related parts are implemented, and transmit of SABM
message is left for the future.

Change-Id: I27aff368f4a70d30c23523946d72a751e100f298
2023-04-14 16:24:33 +02:00
Pau Espin 63ac570f05 Fix typo LLGM -> LLGMM
The interface name is LLGMM, as presented in TS 44.06 7.1.0 and TS
24.007

Change-Id: I59577d27bedd26903c9b1bfc64792f0891cea728
2023-03-30 14:16:29 +02:00
Vadim Yanitskiy f829a685ad tests/llc: local libs must be first in *_LDADD
Otherwise the linker may pick system-installed libs instead.

Change-Id: If5299340ad72407d01e728febf356a07a1d99681
2023-03-14 14:26:22 +00:00
Vadim Yanitskiy 2ffa413b1e tests: move '-I$(top_srcdir)/include/' to AM_CPPFLAGS
The '-I' is a preprocessor flag, so it should be in AM_CPPFLAGS.

Change-Id: Ic3e3dc75789850d2884d3e757f05ff01e136a5f4
2023-03-13 10:46:01 +00:00
Pau Espin c0ba710d6b llc: Initial support for GRR-UNITDATA.ind/req
This allows forwarding GRR-UNITDATA.ind/req up & down the stack, to be
on pair with the BSSGP LLC SAP.

Change-Id: I6a4454b4aa2c96e1f4ce7e2a5d5aba8ec1cf3f60
2023-01-23 20:56:41 +01:00
Pau Espin 03287fe673 tests/llc: Test gprs_llc_is_retransmit()
Imported from osmo-sgsn.git 4398ac073b7fc8363882b5f7414470b73d4f446a
./tests/gprs/gprs_test.c.

Change-Id: I4104ee9cc458b7d169ee9761e02369442058675a
2023-01-04 14:54:04 +00:00
Pau Espin 0d9bbbc7e5 osmo_gprs_llc_bssgp_prim: cell_id is always RAI + CI
As per what's specified in 3GPP TS 48.018 section 11.3.9 Cell
Identifier.

Change-Id: I1efcdbe3e42be35e191bcb1ae513c768d63096aa
2022-12-23 18:03:00 +01:00
Pau Espin f2c6bb980d llc: Initialize gprs_cipher
Change-Id: Ifac6239a3695b69f694eb55574de64a62b0787ed
2022-12-23 13:32:44 +01:00
Pau Espin 91c87d6907 llc: Proper separation of public & private APIs, Introduce llc_prim API
Most of the existing (and added) data structures are kept private, since
most of those don't really need to be used outside internal code in the
library.

Most if not all the interaction from upper and lower layers  towards LLC
is now done through the new llc_prim pubic interface. This interface is
based on 3GPP TS 44.064 section 7.1.2.

This commit also implements some of the code paths of the public API by
means on importing LLC code from osmo-sgsn.git commit
57b63875c762a784127a13becd1c2549ca6c5454.
The import of code cannot be done in a separate commit since existing code
in osmo-sgsn.git is low quality and has tons of layer violations in all
directions.
Hence, this commit aims at being an initial point of having some working
LLC stack by means of a few unit tests, but by no means aims to be a
total working implementation. Some code paths are missing; bugs are
expected at this point.

Related: OS#5502
Change-Id: I588eb576b2703262f4ab9566ec362920d8390cfd
2022-12-21 04:49:08 +07:00
Pau Espin 1868001ee0 llc: add libosmogsm dependency
libosmogsm is needed for the follow-up patch [1].

Change-Id: Iee45fb87905ea29df02a48003396bde27e6c550c
Related: [1] I588eb576b2703262f4ab9566ec362920d8390cfd
Related: OS#5502
2022-12-21 03:46:08 +07:00
Vadim Yanitskiy 4c624aaff8 tests/llc/pdu_codec_test: use const char * const
Not really important, just makes the linter happy.

Change-Id: I9b952b05fed11f26d2839314270e2862db3d036a
2022-09-28 23:01:16 +07:00
Vadim Yanitskiy 1880e28bbc llc: implement Exchange Identification (XID) codec
Change-Id: I16b3f7ab82c489144098aad0dccc4c67d8382c67
2022-09-28 23:01:16 +07:00
Vadim Yanitskiy 19799d106e tests: reorganize llc/rlcmac specific dirs and files
Change-Id: I8592cea020dbbf64940266cd6af14b14d34be3a6
2022-09-22 01:02:21 +07:00