aboutsummaryrefslogtreecommitdiffstats
path: root/tests/osmo-sgsn_test-nodes.vty
AgeCommit message (Collapse)AuthorFilesLines
2023-11-22vty-tests: Test encryption optionsDaniel Willmann1-0/+11
Change-Id: I471c04602dedfb2a80d4408c09125e51c465a8b8
2023-01-11vty: Introduce encryption cipher-plugin-path commandPau Espin Pedrol1-0/+2
The load of plugins will eventually be moved to libosmo-gprs implementation, and path will be passed as a parameter. Once it's moved inside libosmo-gprs, it will be more strict on load failures, which can cause internally if the path doesn't exist (unless NULL is passed). Hence, add a VTY config to allow configuring the right path, and have it disabled by default. Change-Id: I4f965c7afafa193f4d7486750dd3e43cca22bb65
2022-11-04vty: Make new libgtp tdefs configurable through VTYPau Espin Pedrol1-0/+1
Related: OS#5485 Depends: osmo-ggsn.git Change-Id I10bc8e2e197c0e8753b23b684b5ae41025672bf7 Change-Id: I46e9cd158a9f2f721c69f807beb7bb67a459f4a4
2022-03-10Iu: add UEA encryptionNeels Hofmeyr1-0/+1
Add vty 'encryption uea 0 1 2', defaults to 'encryption uea 0' to yield previous behavior. If any UEA above 0 is enabled, include the UEA key in the Iu Security Mode Command. I noticed that only the code bit in st_iu_security_cmd_on_enter() affects the test. The same code in gsm48_gmm_authorize() seems to be dead code? But applying the patch there as well just to be safe. We cannot yet verify the chosen UEA to match a configured UEA level, because the iu_client.c does not send us message details with the RANAP_IU_EVENT_SECURITY_MODE_COMPLETE. Also we cannot yet send the set of configured UEA to the hNodeB, since, again, iu_client.c does not provide the proper API for it. The proper solution here is to completely dissolve iu_client.c and do all Iu handling in osmo-sgsn itself -- see OS#5487. Related: SYS#5516 Related: I1a7c3b156830058c43f15f55883ea301d2d01d5f (osmo-ttcn3-hacks) Change-Id: I27e8e0078c45426bf227bb44aac82a4875d18d0f
2021-06-16add support for multiple encryption algorithms and a5/4Eric1-1/+1
Change-Id: Ie6700c4e9d2df1eb5fde1b971e287b62668cc2de Related: SYS#5324
2021-05-19Support forwarding RIM messages over GTPCv1 EUTRAN<->GERANPau Espin Pedrol1-0/+55
MMEs connect over Gn interface using GTPCv1 towards the SGSN in order to exchange RIM PDUs by using "RAN Information Relay" GTPCv1 message type. For more info, see 3GPP TS 29.060 sec 7.5.14.1 "RAN Information Relay" In order to support it, this commit does the following: * Uses new libgtp APIs to rx and tx RAN Information Relay messages. The same "gsn" object is reused, ie. the local GTPCv1 socket address used for exchanging messages against GGSN is reused. * Adds a new "sgsn_mme_ctx" struct holding information about MMEs allowed by the SGSN, each one containing information about the GTP address it uses, the in/out routing based on TAI requests, etc. The set of MMEs and their config can be set up using new VTY node introduced in this commit. * The RIM related code in SGSN is refactored to allow forwarding from and to several types of addresses/interfaces. Depends: osmo-ggsn.git Change-Id Iea3eb032ccd4aed5187baca7f7719349d76039d4 Depends: libosmocore.git Change-Id I534db7d8bc5ceb19a2a6866f07d5f5c70e456c5c Related: SYS#5314 Change-Id: I396450b8d8b66595dab8ff7bf41cbf964bb40d93
2021-04-14Iu: Drop timer X3314Pau Espin Pedrol1-1/+0
This Iu timer is Osmocom specific, but is made to resemble T3314 timer from GERAN (also named READY timer). The idea of this activity timer was to arm it whenever PMM state transitions to CONNECTED, and then rearm it every time there's some sort of activity, until there's none for some time, then we send a Release Command to close the conn with the HNGBW/RNC. That's the same principle as per spec-defined READY timer T3314. However, there's still a fundamental problem with it: GTP-U in GERAN passes through the SGSN, but in UTRAN, the GTP-U stream goes directly from the HnodeB to the GGSN. Hence, there's no proper way to re-arm this timer upon activity in UTRAN, basically because the SGSN will never see (userplane data) activity. That explains why the E_MM_PDU_RECEPTION event exists for mm_state_gb_fsm, but doesn't exist for mm_state_iu_fsm. As a result, the timer is currently never rearmed, which means it will transition to IDLE always after 44 seconds (default value) once it went into CONNECTED state. In UTRAN, there is a SCCP connection for each subscriber between RNC/hNB and SGSN. If the subscriber is no longer in the respective state, the RNC/hNB should release that IuPS SCCP connection, whcih in turn means the SGSN cleans up its state. Furthermore, SCCP has a built-in IT (inactivity timer). So should the RNC/hNB die, that timer would time out, and the SGSN-side local SCCP stack (provider) wold send a RELEASE.ind for that connection to the user (SGSN). TLDR; this timer is not really needed and cannot be implemented properly in UTRAN, so let's remove it. Related: OS#5116 Change-Id: Ibc71829e417bf2dd0c27deb842369dd4f17010d6
2020-12-29gbproxy: Add SGSN NRI configurationDaniel Willmann1-0/+64
In order to support SGSN pooling we need to configure the various NRI parameters such as the bitlen, NULL NRI, and which NRIs are assigned to which SGSN. Related: OS#4890, OS#4472 Change-Id: Id67592aa7712e5e04e7264b2fb8f26d57eb7e69e