AgeCommit message (Collapse)AuthorFilesLines
10 daysBump version: → 1.7.0HEAD1.7.0masterPau Espin Pedrol5-34/+212
Change-Id: Ifa861bb0109f433b103a75d5140425bf19c66943
10 daysmain: change initialization orderHarald Welte1-17/+17
We must have initialized e.g. the NS protocol stack before calling handle_options(), as that might want to dumpy the VTY XML, and it can obviously only dump those nodes that are registered at that point. Change-Id: Icd1b8fb3f466cdace67ff0d4f7c85183d8266c41
10 daysmanuals: generate vty reference xml at build timeHarald Welte3-2678/+7
Move 'doc' subdir further down to "make sure" the osmo-bsc binary is built before the docs Rremove sgsn_vty_reference from the source tree. In manuals//Makefile.am use the new BUILT_REFERENCE_XML feature recently added to osmo-gsm-manuals, and add a build target to generate the XML using the new osmo-sgsn --vty-ref-xml cmdline switch. Change-Id: Ied75fdd13283aa592350994fb4febce06c213d3a Depends: I613d692328050a036d05b49a436ab495fc2087ba
10 daysmain: add --vty-ref-mode, use vty_dump_xml_ref_mode()Harald Welte1-0/+36
Change-Id: I893fc869d5900eff8395bfded0c2fa3883c5a1e7 Depends: Ie2022a7f9e167e5ceacf15350c037dd43768ff40 Related: SYS#5359
2021-02-16Fix nsei+bvci not updated on rx UL SNDCP datapespin/naccPau Espin Pedrol3-5/+5
msgid2mmctx() was already being called for signalling messages in gsm0408_gprs_rcvmsg_gb() before calling gprs_gb_recv_pdu(), but it was not called in sndcp_llunitdata_ind(). Let's move msgid2mmctx() inside gprs_gb_recv_pdu() since we want to always update the nsei+bvci, regardless of message containing data or control content. This commit fixes the scenario where an MS changes to a new cell (PCU) and then continues transmitting UL data. Prior to this patch, the SGSN kept sending DL content to the old cell (PCU nsei+bvci) instead of the new one even after the MS transmitted Ul content fro mthe new cell. Related: SYS#4909 Change-Id: I2c14e1d65575f54212924f7c5f0a2f4c1b76ec81
2021-02-08gbproxy: remove (moved to own repository)Oliver Smith42-6710/+5
New repository: https://git.osmocom.org/osmo-gbproxy/ Related: OS#4992 Change-Id: I37f7cebaf2a06bd93627a452f5df44edcfc0f87a
2021-02-04sndcp: Fix struct bit fields on big endianPau Espin Pedrol1-0/+17
Change-Id: I30014bf84e7a69fa3d85d542d03e41d56506beb7
2021-02-04.gitignore: Ignore new autofoo tmp filesPau Espin Pedrol1-0/+1
Change-Id: I20b03d40214fe1822aab8df01e3c79404a795f01
2021-01-28sgsn_rim: Add routing for (GERAN) BSSGP RIM messagesPhilipp Maier6-0/+81
The SGSN currently does not forward BSSGP RIM messages. Related: SYS#5103 Depends: libosmocore Icd667f41d5735de56cd9fb257670337c679dd258 Change-Id: I6fde8ab8955660b48000ca1b650cfc7c7b2e24ba
2021-01-28follow libosmocore/gprs_ns2 API changes (gprs_ns2_dynamic_create_nse)Alexander Couzens2-3/+0
The call gprs_ns2_dynamic_create_nse has been removed because it was a workaround for the old/dropped vty api. Depends-on: Ie924ead6da17657f3da334068c8ada82c8845495 (libosmocore) Change-Id: Ie636cfd18d6d43da0e42f2c2de68dfa5c571d55c
2021-01-28sgsn: migrate to the new gprs_ns2_vty configurationAlexander Couzens5-21/+11
Change the whole vty configuration for NS to be more flexible and support more setups. Old configurations are invalid. API change which must be synchronized with libosmocore For further information see: https://osmocom.org/projects/libosmocore/wiki/Network_service_(NS) Depends-on: I8c3f2afecc74b78f7f914f7dce166cbcb63444eb (libosmocore) Change-Id: Ie9306ab4d4738c2c57a69987086e22771b30657e
2021-01-28gbproxy: follow gprs_ns2 API vty changesAlexander Couzens1-2/+1
The gprs_ns2_vty2 has been renamed to gprs_ns2_vty. The old vty has been complete dropped. API change which must be synchronized with libosmocore. Depends-on: I8c3f2afecc74b78f7f914f7dce166cbcb63444eb (libosmocore) Change-Id: If5bd6b86e130772e6c93d640b0c637985416136d
2021-01-28manuals/gbproxy: Move pooling to separate chapterDaniel Willmann2-24/+25
Change-Id: Ie2ad652c8261ce56cb2ed1a6f16a81486ccdf063 Related: SYS#5115, SYS#5005
2021-01-28manuals/gbproxy: MSC -> SGSN for pooling chapterDaniel Willmann1-104/+85
Mostly just change the chapter so it makes sense for gbproxy. Some todos are still left Change-Id: I905835c2be7be43fe376fbc9d743107948c7e6d4 Related: SYS#5115, SYS#5005
2021-01-28manuals/gbproxy: Add osmo-bsc MSC pooling chapter from Neels as a baseDaniel Willmann1-0/+213
Related: SYS#5115, SYS#5005 Change-Id: I930f5df847ea6f40d0ee0c75dd25b6dd20e00839
2021-01-28manuals/gbproxy: Update configuration chapterDaniel Willmann1-4/+37
Change-Id: I01f8d47f9fa384a2528ddf2e6c936ff28d11409e Related: SYS#5115, SYS#5005
2021-01-28Rename OsmoGbPROXY -> *ProxyDaniel Willmann4-5/+5
Change-Id: I7542ac1d5242f1784146de2df7cecaf70fe93c6c Related: SYS#5115, SYS#5005
2021-01-28manual/gbproxy: Update overview chapterDaniel Willmann1-77/+44
* Remove mention of features that are no longer supported * Update the data model Related: SYS#5115, SYS#5005 Change-Id: Icb9095f4002f2a0a4562fccecae109075cb93c7b
2021-01-28gbproxy: Avoid depending on any of the SGSN codeHarald Welte2-4/+41
The last remaining functin of the SGSN code base we used was gprs_gb_parse_tlli(). Let's simply copy this function over and become self-contained. This would allow migrating osmo-gbproxy to a separate repository. Change-Id: I6f3f86581b47ad71a3d97f07611a2e2709876d69
2021-01-27follow libosmocore/gprs_ns2 API changes of GPRS enumsAlexander Couzens2-20/+20
All gprs_ns2 enums have now GPRS_NS2 as prefix. API change which must be synchronized with libosmocore Depends-on: I548ff12f7277cbb7e1a630a3dc02b738ce89be72 (libosmocore) Change-Id: I1af704cdd62ddaff4304479b837dc185b80d7dd6
2021-01-22gbproxy: Fix radio status routing by TMSIDaniel Willmann1-0/+2
If a radio status message contains a TMSI it should be routed as if it was a TLLI. Convert the TMSI to (foreign) TLLI so NRI-routing works. Both foreign and local TLLIs are routed the same. Fixes: OS#4954 Change-Id: Ifd64f02fa16b44f8e2e19eb8ba973f50a829ead5
2021-01-22gbproxy: Improve log messages in gbproxy_select_sgsnDaniel Willmann1-1/+3
Change-Id: Id7bc755b90c35ed7c8cfa8408073e2866d639f2d Related: OS#4954
2021-01-19gbproxy: Print the correct message type for dummy paging/paging rejectDaniel Willmann1-1/+1
Change-Id: I5337abb27587fa2e8320b5bfc3765c9de5c57f6c
2021-01-19gbproxy: Use IMSI cache for PTP paging and implement DUMMY_PAGING_PSDaniel Willmann1-6/+38
Some code was missing to support PAGING_REJECT and DUMMY_PAGING_PS over both PTP and signalling. This commit adds the missing pieces, notably: * Use and route according to the IMSI cache for paging on PTP * Ensure DUMMY_PAGING_PS is broadcast if no routing area is included Change-Id: I7243e0d4470cb62fa6db36d26002ccd6542b5147 Related: OS#4951, OS#4472
2021-01-18gb_proxy: Don't use orphan log subsystem DPCUHarald Welte2-18/+5
DPCU is defined in debug.h, but never registered as log subsystem, so we shall not use it. Also remove other similar "orphan" log subsystems from debug.h Change-Id: I8be54ee49e10d4004128352613923c4700063aa3
2021-01-18gbproxy: Add VTY commands to query the TLLI/IMSI cacheDaniel Willmann1-0/+51
OsmoGbProxy# show gbproxy tlli-cache TLLI cache timeout 10s TLLI c2200024 -> NSE(02001/BSS) valid 10s TLLI cache contains 1 entries OsmoGbProxy# show gbproxy imsi-cache IMSI cache timeout 10s IMSI 262420000001000 -> NSE(00102/SGSN): valid 5s IMSI 262420000000000 -> NSE(00101/SGSN): valid 3s IMSI cache contains 2 entries Change-Id: I03f1050573de9b241eb4fa82460c434155c15c6a Related: OS#4951, OS#4472
2021-01-18gbproxy: Define and use help string for gbproxyDaniel Willmann1-3/+4
Change-Id: Ic9336c83147903e5af6622179f9394130f969a77
2021-01-18gbproxy: Fix VTY cmd nameDaniel Willmann1-2/+2
Change-Id: I5bb5f7cf93779a7a07965f2f35fdb59a7a2b731b
2021-01-17gbproxy: Remove unused variable assignmentDaniel Willmann1-1/+0
Change-Id: I79684e0b27211d756912a63be5cae890ea44be82
2021-01-17gbproxy: Move helper function to a more logical placeDaniel Willmann1-11/+11
Change-Id: I3b39991fe2441334aaa9dda6c33c0b7b4484e455
2021-01-17gbproxy: Use C-style commentsDaniel Willmann2-7/+7
Change-Id: Ia3d27ef79a3370147395e7441149fd1231a760d5
2021-01-17gbproxy: Use IMSI cache to handle PAGING_PS_REJECTDaniel Willmann1-0/+23
Change-Id: I7d91d9ecfba757dc81edcf05efb7a2158348099d Related: OS#4472, OS#4951
2021-01-17gbproxy: Implement IMSI cacheDaniel Willmann3-2/+153
When SGSN pooling is enabled we need to route some responses based on IMSI back to the correct SGSN, e.g. PAGING_PS_REJECT. The IMSI cache keeps track of this IMSI <-> NSE(SGSN) mapping. Change-Id: If0a8d6cc1d63f2fb2c395cc5d4373a915bc2cb87 Related: OS#4951, OS#4472
2021-01-14contrib/jenkins: don't build osmo-gsm-manualsOliver Smith1-1/+0
Related: OS#4912 Change-Id: I3fc43b1afb7cdfd2b78c062e36ccf2491700f988
2021-01-13gbproxy: Increase TLLI cache timeout to 10sDaniel Willmann1-1/+1
The range of SUSPEND/RESUME timers T3/T4 is up to 10s so we should keep the cache entries valid for this time. Fixes: OS#4895 Change-Id: I9e88e49981098831f3255938deb868f4503f650f Related: SYS#5235
2021-01-11gbproxy: Implement TLLI cache and use it for SUSPEND/RESUMEDaniel Willmann3-10/+175
When routing a SUSPEND/RESUME we need to keep track of where it came from so we can send the (N)ACK back to the correct BSS. Use the TLLI which is present in both messages to cache and retrieve the correct BSS. A timer runs every two seconds and expires entries that are older than the timeout (hardcoded to 5 seconds for now). Related: SYS#4865, OS#4472 Change-Id: I42adf70f560d2bb358a9e1c7614281e8d2967568
2021-01-08configure.ac: define a c standard instead of using the compilers defaultAlexander Couzens1-0/+3
Change-Id: I9867adbed211db0a7b42ac3557f56c3042a67936
2021-01-05Fix gbproxy_sgsn_by_tlli wraparoundDaniel Willmann1-1/+2
Change-Id: I74ecb655f4d433f7ac14d00d934d237325aab606 Related: SYS#4865, OS#4472
2021-01-05gb_proxy_peer: fix NULL pointer dereference in gbproxy_sgsn_alloc()Vadim Yanitskiy1-1/+2
LOGPSGSN_CAT() dereferences sgsn->nse in order to get NSEI. Change-Id: I1c592dd6f0da5f167290f38de3b30a1a04c4313d Fixes: CID#215868
2021-01-05gb_proxy_peer: sgsn can never be NULL in gbproxy_sgsn_by_nri()Vadim Yanitskiy1-1/+1
Redundant check makes Coverity think that sgsn can be NULL... Change-Id: Iffdeb18e0a5575a2a09129eed9b8a41c3340dcbf Fixes: CID#215870
2021-01-04gbproxy: Add VTY command to override the node selection functionDaniel Willmann3-1/+43
This is mainly useful when testing SGSN pooling Change-Id: I2894320413dbd0b9aec9a9bc9b88ce7cdeed206b Related: SYS#5115, OS#4472
2021-01-04gbproxy: Add config option to name an SGSNDaniel Willmann6-7/+66
This is useful for logging and configuration to identify an SGSN by name Change-Id: I2a3410dd9bebb242957e13a63ed70e447204203c Related: SYS#5115, OS#4472
2021-01-04gbproxy: use ns2 vty2Alexander Couzens4-37/+18
The new gprs_ns2 vty2 support ip-sns and reorganize the network service configuration Depends: I163279cf57e84198dc8c53e1c109f5a9474670e9 (libosmocore) Change-Id: I2a18dcf035f1fc7304a0c7c7c83b5e8e15429d2b
2021-01-04sgsn: Use the new NS2 apiAlexander Couzens9-61/+114
The new NS2 api supports NSE with multiple NS-VC and contains a NS-VC fsm. FR/GRE support is not working. The configuration is compatible except for FR/GRE. Relates: OS#4629 Depends-on: Iaad7b53d44338e5dd81dc2202f23bdcb715af804 (libosmocore) Depends-on: I6cef42749555e577d5573f2ed8b8bce4cf842a98 (libosmocore) Change-Id: I92a3bcaf166b091a22d74c7c1586964d33d7cc9d
2020-12-30gbproxy: Fix build on Deiban 8Harald Welte1-1/+2
[ 258s] CC gb_proxy.o [ 258s] gb_proxy.c: In function 'gbproxy_select_sgsn_bvc': [ 258s] gb_proxy.c:293:2: error: 'for' loop initial declarations are only allowed in C99 or C11 mode [ 258s] for (int i = 0; i < ARRAY_SIZE(cell->sgsn_bvc); i++) { [ 258s] ^ [ 258s] gb_proxy.c:293:2: note: use option -std=c99, -std=gnu99, -std=c11 or -std=gnu11 to compile your code Change-Id: I717410b11f1ee38d49e9ca5af593cb59a244ae0a
2020-12-29gbproxy: Add comments to sgsn functionsDaniel Willmann2-1/+24
Change-Id: I8c96308045112f25292b0e57c306d8486a2524cc
2020-12-29gbproxy: Add SGSN pooling supportDaniel Willmann3-27/+166
Change-Id: I58b9f55065f6bd43450e4b07cffe7ba132b1fd9b Related: OS#4472
2020-12-29gbproxy: Add SGSN NRI configurationDaniel Willmann10-21/+558
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
2020-12-22gbproxy: Add "show gbproxy cell ..." VTY commandHarald Welte1-0/+42
This allows the user to inspect CELL related gb-proxy state. Change-Id: Iad1e8bbc358df9a3b3392404a70445a169dfebd5
2020-12-22gbproxy: Fix confusing log message in gbprox_relay2nseDaniel Willmann1-2/+2
This function is now used to transmit messages in both directions, BSS->SGSN and SGSN->BSS. Print the actual direction in the logs Change-Id: I31682156dfe88f7ca121a711968e625caed8bd5e Related: OS#4472